diff --git a/examples/implicit-init/test/implicitInit.spec.ts b/examples/implicit-init/test/implicitInit.spec.ts index 14d6ab02..3ed9aad9 100644 --- a/examples/implicit-init/test/implicitInit.spec.ts +++ b/examples/implicit-init/test/implicitInit.spec.ts @@ -9,7 +9,7 @@ describe("ImplicitInit Detector Tests", () => { "tactConfig.json", ); const config = path.resolve(__dirname, "project", "mistiConfig.json"); - const driver = await Driver.create(tactConfigPath, { config }); + const driver = await Driver.create([tactConfigPath], { config }); expect(driver.detectors.length).toBe(1); expect(driver.detectors[0].id).toBe("ImplicitInit"); diff --git a/src/cli/cli.ts b/src/cli/cli.ts index a4e5ba50..af8b25d7 100644 --- a/src/cli/cli.ts +++ b/src/cli/cli.ts @@ -23,7 +23,7 @@ export function createMistiCommand(): Command { .name("misti") .description("TON Static Analyzer") .version(`Misti ${MISTI_VERSION}\nSupported Tact version: ${TACT_VERSION}`) - .arguments(""); + .arguments("[paths...]"); cliOptions.forEach((option) => command.addOption(option)); command.action(async (_tactPath, options) => { if (options.listTools) { diff --git a/src/cli/driver.ts b/src/cli/driver.ts index c32546dd..f270c0ab 100644 --- a/src/cli/driver.ts +++ b/src/cli/driver.ts @@ -115,8 +115,11 @@ export class Driver { const cu = createIR(this.ctx, projectName, ast, importGraph); acc.set(projectName, cu); } else { - importGraph = ImportGraphBuilder.make(this.ctx, [tactPath]).build(); configManager = TactConfigManager.fromConfig(tactPath); + importGraph = ImportGraphBuilder.make( + this.ctx, + configManager.getEntryPoints(), + ).build(); configManager.getProjects().forEach((configProject) => { const ast = parseTactProject( this.ctx, @@ -285,9 +288,7 @@ export class Driver { */ public async execute(): Promise { if (this.cus.size === 0) { - throw ExecutionException.make( - "Please specify a path to a Tact project or Tact contract", - ); + return { kind: "ok" }; } if (this.detectors.length === 0 && this.tools.length === 0) { this.ctx.logger.warn( diff --git a/src/internals/tact/config.ts b/src/internals/tact/config.ts index 95bccc9c..1fe4a499 100644 --- a/src/internals/tact/config.ts +++ b/src/internals/tact/config.ts @@ -140,9 +140,9 @@ export class TactConfigManager { } /** - * Returns the entry points specified in the Tact configuration file (existent or not). + * Returns absolute paths to entry points specified in the Tact configuration file. */ public getEntryPoints(): string[] { - return this.config.projects.map((p) => p.path); + return this.config.projects.map((p) => this.resolveProjectPath(p.path)); } } diff --git a/src/tools/dumpImports.ts b/src/tools/dumpImports.ts index 65eab851..2cfa2c78 100644 --- a/src/tools/dumpImports.ts +++ b/src/tools/dumpImports.ts @@ -3,6 +3,7 @@ import { ToolOutput } from "../cli/result"; import { CompilationUnit, ImportGraph } from "../internals/ir"; import { unreachable } from "../internals/util"; import JSONbig from "json-bigint"; +import path from "path"; interface DumpImportGraphOptions extends Record { format: "dot" | "json" | "mmd"; @@ -191,7 +192,7 @@ class JSONDumper { idx: node.idx, name: node.name, origin: node.origin, - importPath: node.importPath, + importPath: path.relative(process.cwd(), node.importPath), language: node.language, hasContract: node.hasContract, inEdges: Array.from(node.inEdges), diff --git a/test/all/sample-jetton.cfg.dot b/test/all/sample-jetton.cfg.dot index 1c8f15be..6c88cd8e 100644 --- a/test/all/sample-jetton.cfg.dot +++ b/test/all/sample-jetton.cfg.dot @@ -1,100 +1,100 @@ digraph "sample-jetton" { node [shape=box]; - subgraph "cluster_SampleJetton__init_1905" { - label="SampleJetton__init_1905"; - "SampleJetton__init_1905_68" [label="self.totalSupply = 0"]; - "SampleJetton__init_1905_69" [label="self.max_supply = max_supply"]; - "SampleJetton__init_1905_70" [label="self.owner = owner"]; - "SampleJetton__init_1905_71" [label="self.mintable = true"]; - "SampleJetton__init_1905_72" [label="self.content = content",style=filled,fillcolor="#66A7DB"]; - "SampleJetton__init_1905_68" -> "SampleJetton__init_1905_69"; - "SampleJetton__init_1905_69" -> "SampleJetton__init_1905_70"; - "SampleJetton__init_1905_70" -> "SampleJetton__init_1905_71"; - "SampleJetton__init_1905_71" -> "SampleJetton__init_1905_72"; + subgraph "cluster_SampleJetton__init_1907" { + label="SampleJetton__init_1907"; + "SampleJetton__init_1907_68" [label="self.totalSupply = 0"]; + "SampleJetton__init_1907_69" [label="self.max_supply = max_supply"]; + "SampleJetton__init_1907_70" [label="self.owner = owner"]; + "SampleJetton__init_1907_71" [label="self.mintable = true"]; + "SampleJetton__init_1907_72" [label="self.content = content",style=filled,fillcolor="#66A7DB"]; + "SampleJetton__init_1907_68" -> "SampleJetton__init_1907_69"; + "SampleJetton__init_1907_69" -> "SampleJetton__init_1907_70"; + "SampleJetton__init_1907_70" -> "SampleJetton__init_1907_71"; + "SampleJetton__init_1907_71" -> "SampleJetton__init_1907_72"; } - subgraph "cluster_SampleJetton__receive_internal_simple_1855" { - label="SampleJetton__receive_internal_simple_1855"; - "SampleJetton__receive_internal_simple_1855_73" [label="let ctx: Context = context()"]; - "SampleJetton__receive_internal_simple_1855_74" [label="require(ctx.sender == self.owner, \"Not Owner\")"]; - "SampleJetton__receive_internal_simple_1855_75" [label="require(self.mintable, \"Can't Mint Anymore\")"]; - "SampleJetton__receive_internal_simple_1855_76" [label="self.mint(msg.receiver, msg.amount, self.owner)",style=filled,fillcolor="#66A7DB"]; - "SampleJetton__receive_internal_simple_1855_73" -> "SampleJetton__receive_internal_simple_1855_74"; - "SampleJetton__receive_internal_simple_1855_74" -> "SampleJetton__receive_internal_simple_1855_75"; - "SampleJetton__receive_internal_simple_1855_75" -> "SampleJetton__receive_internal_simple_1855_76"; + subgraph "cluster_SampleJetton__receive_internal_simple_1857" { + label="SampleJetton__receive_internal_simple_1857"; + "SampleJetton__receive_internal_simple_1857_73" [label="let ctx: Context = context()"]; + "SampleJetton__receive_internal_simple_1857_74" [label="require(ctx.sender == self.owner, \"Not Owner\")"]; + "SampleJetton__receive_internal_simple_1857_75" [label="require(self.mintable, \"Can't Mint Anymore\")"]; + "SampleJetton__receive_internal_simple_1857_76" [label="self.mint(msg.receiver, msg.amount, self.owner)",style=filled,fillcolor="#66A7DB"]; + "SampleJetton__receive_internal_simple_1857_73" -> "SampleJetton__receive_internal_simple_1857_74"; + "SampleJetton__receive_internal_simple_1857_74" -> "SampleJetton__receive_internal_simple_1857_75"; + "SampleJetton__receive_internal_simple_1857_75" -> "SampleJetton__receive_internal_simple_1857_76"; } - subgraph "cluster_SampleJetton__receive_internal_comment_1880_Mint: 100" { - label="SampleJetton__receive_internal_comment_1880_Mint: 100"; - "SampleJetton__receive_internal_comment_1880_Mint: 100_77" [label="let ctx: Context = context()"]; - "SampleJetton__receive_internal_comment_1880_Mint: 100_78" [label="require(self.mintable, \"Can't Mint Anymore\")"]; - "SampleJetton__receive_internal_comment_1880_Mint: 100_79" [label="self.mint(ctx.sender, 100, self.owner)",style=filled,fillcolor="#66A7DB"]; - "SampleJetton__receive_internal_comment_1880_Mint: 100_77" -> "SampleJetton__receive_internal_comment_1880_Mint: 100_78"; - "SampleJetton__receive_internal_comment_1880_Mint: 100_78" -> "SampleJetton__receive_internal_comment_1880_Mint: 100_79"; + subgraph "cluster_SampleJetton__receive_internal_comment_1882_Mint: 100" { + label="SampleJetton__receive_internal_comment_1882_Mint: 100"; + "SampleJetton__receive_internal_comment_1882_Mint: 100_77" [label="let ctx: Context = context()"]; + "SampleJetton__receive_internal_comment_1882_Mint: 100_78" [label="require(self.mintable, \"Can't Mint Anymore\")"]; + "SampleJetton__receive_internal_comment_1882_Mint: 100_79" [label="self.mint(ctx.sender, 100, self.owner)",style=filled,fillcolor="#66A7DB"]; + "SampleJetton__receive_internal_comment_1882_Mint: 100_77" -> "SampleJetton__receive_internal_comment_1882_Mint: 100_78"; + "SampleJetton__receive_internal_comment_1882_Mint: 100_78" -> "SampleJetton__receive_internal_comment_1882_Mint: 100_79"; } - subgraph "cluster_SampleJetton__receive_internal_comment_1903_Owner: MintClose" { - label="SampleJetton__receive_internal_comment_1903_Owner: MintClose"; - "SampleJetton__receive_internal_comment_1903_Owner: MintClose_80" [label="let ctx: Context = context()"]; - "SampleJetton__receive_internal_comment_1903_Owner: MintClose_81" [label="require(ctx.sender == self.owner, \"Not Owner\")"]; - "SampleJetton__receive_internal_comment_1903_Owner: MintClose_82" [label="self.mintable = false",style=filled,fillcolor="#66A7DB"]; - "SampleJetton__receive_internal_comment_1903_Owner: MintClose_80" -> "SampleJetton__receive_internal_comment_1903_Owner: MintClose_81"; - "SampleJetton__receive_internal_comment_1903_Owner: MintClose_81" -> "SampleJetton__receive_internal_comment_1903_Owner: MintClose_82"; + subgraph "cluster_SampleJetton__receive_internal_comment_1905_Owner: MintClose" { + label="SampleJetton__receive_internal_comment_1905_Owner: MintClose"; + "SampleJetton__receive_internal_comment_1905_Owner: MintClose_80" [label="let ctx: Context = context()"]; + "SampleJetton__receive_internal_comment_1905_Owner: MintClose_81" [label="require(ctx.sender == self.owner, \"Not Owner\")"]; + "SampleJetton__receive_internal_comment_1905_Owner: MintClose_82" [label="self.mintable = false",style=filled,fillcolor="#66A7DB"]; + "SampleJetton__receive_internal_comment_1905_Owner: MintClose_80" -> "SampleJetton__receive_internal_comment_1905_Owner: MintClose_81"; + "SampleJetton__receive_internal_comment_1905_Owner: MintClose_81" -> "SampleJetton__receive_internal_comment_1905_Owner: MintClose_82"; } - subgraph "cluster_JettonDefaultWallet__init_2908" { - label="JettonDefaultWallet__init_2908"; - "JettonDefaultWallet__init_2908_83" [label="self.balance = 0"]; - "JettonDefaultWallet__init_2908_84" [label="self.owner = owner"]; - "JettonDefaultWallet__init_2908_85" [label="self.master = master",style=filled,fillcolor="#66A7DB"]; - "JettonDefaultWallet__init_2908_83" -> "JettonDefaultWallet__init_2908_84"; - "JettonDefaultWallet__init_2908_84" -> "JettonDefaultWallet__init_2908_85"; + subgraph "cluster_JettonDefaultWallet__init_2910" { + label="JettonDefaultWallet__init_2910"; + "JettonDefaultWallet__init_2910_83" [label="self.balance = 0"]; + "JettonDefaultWallet__init_2910_84" [label="self.owner = owner"]; + "JettonDefaultWallet__init_2910_85" [label="self.master = master",style=filled,fillcolor="#66A7DB"]; + "JettonDefaultWallet__init_2910_83" -> "JettonDefaultWallet__init_2910_84"; + "JettonDefaultWallet__init_2910_84" -> "JettonDefaultWallet__init_2910_85"; } - subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2515" { - label="JettonDefaultWallet__receive_internal_simple_2515"; - "JettonDefaultWallet__receive_internal_simple_2515_86" [label="let ctx: Context = context()"]; - "JettonDefaultWallet__receive_internal_simple_2515_87" [label="require(ctx.sender == self.owner, \"Invalid sender\")"]; - "JettonDefaultWallet__receive_internal_simple_2515_88" [label="let fwdFee: Int = ctx.readForwardFee() + ctx.readForwardFee()"]; - "JettonDefaultWallet__receive_internal_simple_2515_89" [label="let final: Int = 2 * self.gasConsumption + self.minTonsForStorage + fwdFee"]; - "JettonDefaultWallet__receive_internal_simple_2515_90" [label="require(ctx.value > min(final, ton(\"0.01\")), \"Invalid value!!\")"]; - "JettonDefaultWallet__receive_internal_simple_2515_91" [label="self.balance = self.balance - msg.amount"]; - "JettonDefaultWallet__receive_internal_simple_2515_92" [label="require(self.balance >= 0, \"Invalid balance\")"]; - "JettonDefaultWallet__receive_internal_simple_2515_93" [label="let init: StateInit = initOf JettonDefaultWallet(self.master, msg.destination)"]; - "JettonDefaultWallet__receive_internal_simple_2515_94" [label="let walletAddress: Address = contractAddress(init)"]; - "JettonDefaultWallet__receive_internal_simple_2515_95" [label="send(SendParameters{to: walletAddress, value: 0, mode: SendRemainingValue, bounce: false, body: TokenTransferInternal{queryId: msg.queryId, amount: msg.amount, from: self.owner, response_destination: msg.response_destination, forward_ton_amount: msg.forward_ton_amount, forward_payload: msg.forward_payload}.toCell(), code: init.code, data: init.data})",style=filled,fillcolor="#66A7DB"]; - "JettonDefaultWallet__receive_internal_simple_2515_86" -> "JettonDefaultWallet__receive_internal_simple_2515_87"; - "JettonDefaultWallet__receive_internal_simple_2515_87" -> "JettonDefaultWallet__receive_internal_simple_2515_88"; - "JettonDefaultWallet__receive_internal_simple_2515_88" -> "JettonDefaultWallet__receive_internal_simple_2515_89"; - "JettonDefaultWallet__receive_internal_simple_2515_89" -> "JettonDefaultWallet__receive_internal_simple_2515_90"; - "JettonDefaultWallet__receive_internal_simple_2515_90" -> "JettonDefaultWallet__receive_internal_simple_2515_91"; - "JettonDefaultWallet__receive_internal_simple_2515_91" -> "JettonDefaultWallet__receive_internal_simple_2515_92"; - "JettonDefaultWallet__receive_internal_simple_2515_92" -> "JettonDefaultWallet__receive_internal_simple_2515_93"; - "JettonDefaultWallet__receive_internal_simple_2515_93" -> "JettonDefaultWallet__receive_internal_simple_2515_94"; - "JettonDefaultWallet__receive_internal_simple_2515_94" -> "JettonDefaultWallet__receive_internal_simple_2515_95"; + subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2517" { + label="JettonDefaultWallet__receive_internal_simple_2517"; + "JettonDefaultWallet__receive_internal_simple_2517_86" [label="let ctx: Context = context()"]; + "JettonDefaultWallet__receive_internal_simple_2517_87" [label="require(ctx.sender == self.owner, \"Invalid sender\")"]; + "JettonDefaultWallet__receive_internal_simple_2517_88" [label="let fwdFee: Int = ctx.readForwardFee() + ctx.readForwardFee()"]; + "JettonDefaultWallet__receive_internal_simple_2517_89" [label="let final: Int = 2 * self.gasConsumption + self.minTonsForStorage + fwdFee"]; + "JettonDefaultWallet__receive_internal_simple_2517_90" [label="require(ctx.value > min(final, ton(\"0.01\")), \"Invalid value!!\")"]; + "JettonDefaultWallet__receive_internal_simple_2517_91" [label="self.balance = self.balance - msg.amount"]; + "JettonDefaultWallet__receive_internal_simple_2517_92" [label="require(self.balance >= 0, \"Invalid balance\")"]; + "JettonDefaultWallet__receive_internal_simple_2517_93" [label="let init: StateInit = initOf JettonDefaultWallet(self.master, msg.destination)"]; + "JettonDefaultWallet__receive_internal_simple_2517_94" [label="let walletAddress: Address = contractAddress(init)"]; + "JettonDefaultWallet__receive_internal_simple_2517_95" [label="send(SendParameters{to: walletAddress, value: 0, mode: SendRemainingValue, bounce: false, body: TokenTransferInternal{queryId: msg.queryId, amount: msg.amount, from: self.owner, response_destination: msg.response_destination, forward_ton_amount: msg.forward_ton_amount, forward_payload: msg.forward_payload}.toCell(), code: init.code, data: init.data})",style=filled,fillcolor="#66A7DB"]; + "JettonDefaultWallet__receive_internal_simple_2517_86" -> "JettonDefaultWallet__receive_internal_simple_2517_87"; + "JettonDefaultWallet__receive_internal_simple_2517_87" -> "JettonDefaultWallet__receive_internal_simple_2517_88"; + "JettonDefaultWallet__receive_internal_simple_2517_88" -> "JettonDefaultWallet__receive_internal_simple_2517_89"; + "JettonDefaultWallet__receive_internal_simple_2517_89" -> "JettonDefaultWallet__receive_internal_simple_2517_90"; + "JettonDefaultWallet__receive_internal_simple_2517_90" -> "JettonDefaultWallet__receive_internal_simple_2517_91"; + "JettonDefaultWallet__receive_internal_simple_2517_91" -> "JettonDefaultWallet__receive_internal_simple_2517_92"; + "JettonDefaultWallet__receive_internal_simple_2517_92" -> "JettonDefaultWallet__receive_internal_simple_2517_93"; + "JettonDefaultWallet__receive_internal_simple_2517_93" -> "JettonDefaultWallet__receive_internal_simple_2517_94"; + "JettonDefaultWallet__receive_internal_simple_2517_94" -> "JettonDefaultWallet__receive_internal_simple_2517_95"; } - subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2685" { - label="JettonDefaultWallet__receive_internal_simple_2685"; - "JettonDefaultWallet__receive_internal_simple_2685_96" [label="let ctx: Context = context()"]; - "JettonDefaultWallet__receive_internal_simple_2685_97" [label="if (ctx.sender != self.master)"]; - "JettonDefaultWallet__receive_internal_simple_2685_98" [label="let sInit: StateInit = initOf JettonDefaultWallet(self.master, msg.from)"]; - "JettonDefaultWallet__receive_internal_simple_2685_99" [label="require(contractAddress(sInit) == ctx.sender, \"Invalid sender!\")"]; - "JettonDefaultWallet__receive_internal_simple_2685_100" [label="self.balance = self.balance + msg.amount"]; - "JettonDefaultWallet__receive_internal_simple_2685_101" [label="require(self.balance >= 0, \"Invalid balance\")"]; - "JettonDefaultWallet__receive_internal_simple_2685_102" [label="if (msg.forward_ton_amount > 0)"]; - "JettonDefaultWallet__receive_internal_simple_2685_103" [label="send(SendParameters{to: self.owner, value: msg.forward_ton_amount, bounce: false, body: TokenNotification{queryId: msg.queryId, amount: msg.amount, from: msg.from, forward_payload: msg.forward_payload}.toCell()})"]; - "JettonDefaultWallet__receive_internal_simple_2685_104" [label="let msgValue: Int = self.msgValue(ctx.value)"]; - "JettonDefaultWallet__receive_internal_simple_2685_105" [label="let fwdFee: Int = ctx.readForwardFee()"]; - "JettonDefaultWallet__receive_internal_simple_2685_106" [label="msgValue = msgValue - msg.forward_ton_amount - fwdFee"]; - "JettonDefaultWallet__receive_internal_simple_2685_107" [label="if (msg.response_destination != null)"]; - "JettonDefaultWallet__receive_internal_simple_2685_108" [label="send(SendParameters{to: !!msg.response_destination, value: msgValue, bounce: false, body: TokenExcesses{queryId: msg.queryId}.toCell(), mode: SendIgnoreErrors})",style=filled,fillcolor="#66A7DB"]; - "JettonDefaultWallet__receive_internal_simple_2685_96" -> "JettonDefaultWallet__receive_internal_simple_2685_97"; - "JettonDefaultWallet__receive_internal_simple_2685_97" -> "JettonDefaultWallet__receive_internal_simple_2685_98"; - "JettonDefaultWallet__receive_internal_simple_2685_98" -> "JettonDefaultWallet__receive_internal_simple_2685_99"; - "JettonDefaultWallet__receive_internal_simple_2685_99" -> "JettonDefaultWallet__receive_internal_simple_2685_100"; - "JettonDefaultWallet__receive_internal_simple_2685_100" -> "JettonDefaultWallet__receive_internal_simple_2685_101"; - "JettonDefaultWallet__receive_internal_simple_2685_101" -> "JettonDefaultWallet__receive_internal_simple_2685_102"; - "JettonDefaultWallet__receive_internal_simple_2685_102" -> "JettonDefaultWallet__receive_internal_simple_2685_103"; - "JettonDefaultWallet__receive_internal_simple_2685_103" -> "JettonDefaultWallet__receive_internal_simple_2685_104"; - "JettonDefaultWallet__receive_internal_simple_2685_104" -> "JettonDefaultWallet__receive_internal_simple_2685_105"; - "JettonDefaultWallet__receive_internal_simple_2685_105" -> "JettonDefaultWallet__receive_internal_simple_2685_106"; - "JettonDefaultWallet__receive_internal_simple_2685_106" -> "JettonDefaultWallet__receive_internal_simple_2685_107"; - "JettonDefaultWallet__receive_internal_simple_2685_107" -> "JettonDefaultWallet__receive_internal_simple_2685_108"; + subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2687" { + label="JettonDefaultWallet__receive_internal_simple_2687"; + "JettonDefaultWallet__receive_internal_simple_2687_96" [label="let ctx: Context = context()"]; + "JettonDefaultWallet__receive_internal_simple_2687_97" [label="if (ctx.sender != self.master)"]; + "JettonDefaultWallet__receive_internal_simple_2687_98" [label="let sInit: StateInit = initOf JettonDefaultWallet(self.master, msg.from)"]; + "JettonDefaultWallet__receive_internal_simple_2687_99" [label="require(contractAddress(sInit) == ctx.sender, \"Invalid sender!\")"]; + "JettonDefaultWallet__receive_internal_simple_2687_100" [label="self.balance = self.balance + msg.amount"]; + "JettonDefaultWallet__receive_internal_simple_2687_101" [label="require(self.balance >= 0, \"Invalid balance\")"]; + "JettonDefaultWallet__receive_internal_simple_2687_102" [label="if (msg.forward_ton_amount > 0)"]; + "JettonDefaultWallet__receive_internal_simple_2687_103" [label="send(SendParameters{to: self.owner, value: msg.forward_ton_amount, bounce: false, body: TokenNotification{queryId: msg.queryId, amount: msg.amount, from: msg.from, forward_payload: msg.forward_payload}.toCell()})"]; + "JettonDefaultWallet__receive_internal_simple_2687_104" [label="let msgValue: Int = self.msgValue(ctx.value)"]; + "JettonDefaultWallet__receive_internal_simple_2687_105" [label="let fwdFee: Int = ctx.readForwardFee()"]; + "JettonDefaultWallet__receive_internal_simple_2687_106" [label="msgValue = msgValue - msg.forward_ton_amount - fwdFee"]; + "JettonDefaultWallet__receive_internal_simple_2687_107" [label="if (msg.response_destination != null)"]; + "JettonDefaultWallet__receive_internal_simple_2687_108" [label="send(SendParameters{to: !!msg.response_destination, value: msgValue, bounce: false, body: TokenExcesses{queryId: msg.queryId}.toCell(), mode: SendIgnoreErrors})",style=filled,fillcolor="#66A7DB"]; + "JettonDefaultWallet__receive_internal_simple_2687_96" -> "JettonDefaultWallet__receive_internal_simple_2687_97"; + "JettonDefaultWallet__receive_internal_simple_2687_97" -> "JettonDefaultWallet__receive_internal_simple_2687_98"; + "JettonDefaultWallet__receive_internal_simple_2687_98" -> "JettonDefaultWallet__receive_internal_simple_2687_99"; + "JettonDefaultWallet__receive_internal_simple_2687_99" -> "JettonDefaultWallet__receive_internal_simple_2687_100"; + "JettonDefaultWallet__receive_internal_simple_2687_100" -> "JettonDefaultWallet__receive_internal_simple_2687_101"; + "JettonDefaultWallet__receive_internal_simple_2687_101" -> "JettonDefaultWallet__receive_internal_simple_2687_102"; + "JettonDefaultWallet__receive_internal_simple_2687_102" -> "JettonDefaultWallet__receive_internal_simple_2687_103"; + "JettonDefaultWallet__receive_internal_simple_2687_103" -> "JettonDefaultWallet__receive_internal_simple_2687_104"; + "JettonDefaultWallet__receive_internal_simple_2687_104" -> "JettonDefaultWallet__receive_internal_simple_2687_105"; + "JettonDefaultWallet__receive_internal_simple_2687_105" -> "JettonDefaultWallet__receive_internal_simple_2687_106"; + "JettonDefaultWallet__receive_internal_simple_2687_106" -> "JettonDefaultWallet__receive_internal_simple_2687_107"; + "JettonDefaultWallet__receive_internal_simple_2687_107" -> "JettonDefaultWallet__receive_internal_simple_2687_108"; } subgraph "cluster_JettonDefaultWallet__msgValue" { label="JettonDefaultWallet__msgValue"; @@ -106,33 +106,33 @@ digraph "sample-jetton" { "JettonDefaultWallet__msgValue_110" -> "JettonDefaultWallet__msgValue_111"; "JettonDefaultWallet__msgValue_111" -> "JettonDefaultWallet__msgValue_112"; } - subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2830" { - label="JettonDefaultWallet__receive_internal_simple_2830"; - "JettonDefaultWallet__receive_internal_simple_2830_113" [label="let ctx: Context = context()"]; - "JettonDefaultWallet__receive_internal_simple_2830_114" [label="require(ctx.sender == self.owner, \"Invalid sender\")"]; - "JettonDefaultWallet__receive_internal_simple_2830_115" [label="self.balance = self.balance - msg.amount"]; - "JettonDefaultWallet__receive_internal_simple_2830_116" [label="require(self.balance >= 0, \"Invalid balance\")"]; - "JettonDefaultWallet__receive_internal_simple_2830_117" [label="let fwdFee: Int = ctx.readForwardFee()"]; - "JettonDefaultWallet__receive_internal_simple_2830_118" [label="require(ctx.value > fwdFee + 2 * self.gasConsumption + self.minTonsForStorage, \"Invalid value - Burn\")"]; - "JettonDefaultWallet__receive_internal_simple_2830_119" [label="send(SendParameters{to: self.master, value: 0, mode: SendRemainingValue, bounce: true, body: TokenBurnNotification{queryId: msg.queryId, amount: msg.amount, owner: self.owner, response_destination: self.owner}.toCell()})",style=filled,fillcolor="#66A7DB"]; - "JettonDefaultWallet__receive_internal_simple_2830_113" -> "JettonDefaultWallet__receive_internal_simple_2830_114"; - "JettonDefaultWallet__receive_internal_simple_2830_114" -> "JettonDefaultWallet__receive_internal_simple_2830_115"; - "JettonDefaultWallet__receive_internal_simple_2830_115" -> "JettonDefaultWallet__receive_internal_simple_2830_116"; - "JettonDefaultWallet__receive_internal_simple_2830_116" -> "JettonDefaultWallet__receive_internal_simple_2830_117"; - "JettonDefaultWallet__receive_internal_simple_2830_117" -> "JettonDefaultWallet__receive_internal_simple_2830_118"; - "JettonDefaultWallet__receive_internal_simple_2830_118" -> "JettonDefaultWallet__receive_internal_simple_2830_119"; + subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2832" { + label="JettonDefaultWallet__receive_internal_simple_2832"; + "JettonDefaultWallet__receive_internal_simple_2832_113" [label="let ctx: Context = context()"]; + "JettonDefaultWallet__receive_internal_simple_2832_114" [label="require(ctx.sender == self.owner, \"Invalid sender\")"]; + "JettonDefaultWallet__receive_internal_simple_2832_115" [label="self.balance = self.balance - msg.amount"]; + "JettonDefaultWallet__receive_internal_simple_2832_116" [label="require(self.balance >= 0, \"Invalid balance\")"]; + "JettonDefaultWallet__receive_internal_simple_2832_117" [label="let fwdFee: Int = ctx.readForwardFee()"]; + "JettonDefaultWallet__receive_internal_simple_2832_118" [label="require(ctx.value > fwdFee + 2 * self.gasConsumption + self.minTonsForStorage, \"Invalid value - Burn\")"]; + "JettonDefaultWallet__receive_internal_simple_2832_119" [label="send(SendParameters{to: self.master, value: 0, mode: SendRemainingValue, bounce: true, body: TokenBurnNotification{queryId: msg.queryId, amount: msg.amount, owner: self.owner, response_destination: self.owner}.toCell()})",style=filled,fillcolor="#66A7DB"]; + "JettonDefaultWallet__receive_internal_simple_2832_113" -> "JettonDefaultWallet__receive_internal_simple_2832_114"; + "JettonDefaultWallet__receive_internal_simple_2832_114" -> "JettonDefaultWallet__receive_internal_simple_2832_115"; + "JettonDefaultWallet__receive_internal_simple_2832_115" -> "JettonDefaultWallet__receive_internal_simple_2832_116"; + "JettonDefaultWallet__receive_internal_simple_2832_116" -> "JettonDefaultWallet__receive_internal_simple_2832_117"; + "JettonDefaultWallet__receive_internal_simple_2832_117" -> "JettonDefaultWallet__receive_internal_simple_2832_118"; + "JettonDefaultWallet__receive_internal_simple_2832_118" -> "JettonDefaultWallet__receive_internal_simple_2832_119"; } - subgraph "cluster_JettonDefaultWallet__receive_bounce_2874" { - label="JettonDefaultWallet__receive_bounce_2874"; - "JettonDefaultWallet__receive_bounce_2874_120" [label="let op: Int = msg.loadUint(32)"]; - "JettonDefaultWallet__receive_bounce_2874_121" [label="let queryId: Int = msg.loadUint(64)"]; - "JettonDefaultWallet__receive_bounce_2874_122" [label="let jettonAmount: Int = msg.loadCoins()"]; - "JettonDefaultWallet__receive_bounce_2874_123" [label="require(op == 0x178d4519 || op == 0x7bdd97de, \"Invalid bounced message\")"]; - "JettonDefaultWallet__receive_bounce_2874_124" [label="self.balance = self.balance + jettonAmount",style=filled,fillcolor="#66A7DB"]; - "JettonDefaultWallet__receive_bounce_2874_120" -> "JettonDefaultWallet__receive_bounce_2874_121"; - "JettonDefaultWallet__receive_bounce_2874_121" -> "JettonDefaultWallet__receive_bounce_2874_122"; - "JettonDefaultWallet__receive_bounce_2874_122" -> "JettonDefaultWallet__receive_bounce_2874_123"; - "JettonDefaultWallet__receive_bounce_2874_123" -> "JettonDefaultWallet__receive_bounce_2874_124"; + subgraph "cluster_JettonDefaultWallet__receive_bounce_2876" { + label="JettonDefaultWallet__receive_bounce_2876"; + "JettonDefaultWallet__receive_bounce_2876_120" [label="let op: Int = msg.loadUint(32)"]; + "JettonDefaultWallet__receive_bounce_2876_121" [label="let queryId: Int = msg.loadUint(64)"]; + "JettonDefaultWallet__receive_bounce_2876_122" [label="let jettonAmount: Int = msg.loadCoins()"]; + "JettonDefaultWallet__receive_bounce_2876_123" [label="require(op == 0x178d4519 || op == 0x7bdd97de, \"Invalid bounced message\")"]; + "JettonDefaultWallet__receive_bounce_2876_124" [label="self.balance = self.balance + jettonAmount",style=filled,fillcolor="#66A7DB"]; + "JettonDefaultWallet__receive_bounce_2876_120" -> "JettonDefaultWallet__receive_bounce_2876_121"; + "JettonDefaultWallet__receive_bounce_2876_121" -> "JettonDefaultWallet__receive_bounce_2876_122"; + "JettonDefaultWallet__receive_bounce_2876_122" -> "JettonDefaultWallet__receive_bounce_2876_123"; + "JettonDefaultWallet__receive_bounce_2876_123" -> "JettonDefaultWallet__receive_bounce_2876_124"; } subgraph "cluster_JettonDefaultWallet__get_wallet_data" { label="JettonDefaultWallet__get_wallet_data"; diff --git a/test/all/sample-jetton.cfg.json b/test/all/sample-jetton.cfg.json index 3e1ac753..282466e8 100644 --- a/test/all/sample-jetton.cfg.json +++ b/test/all/sample-jetton.cfg.json @@ -6,12 +6,12 @@ "name": "SampleJetton", "methods": [ { - "name": "SampleJetton.init_1905", + "name": "SampleJetton.init_1907", "cfg": { "nodes": [ { "id": 68, - "stmtID": 1794, + "stmtID": 1796, "srcEdges": [], "dstEdges": [ 57 @@ -19,7 +19,7 @@ }, { "id": 69, - "stmtID": 1799, + "stmtID": 1801, "srcEdges": [ 57 ], @@ -29,7 +29,7 @@ }, { "id": 70, - "stmtID": 1804, + "stmtID": 1806, "srcEdges": [ 58 ], @@ -39,7 +39,7 @@ }, { "id": 71, - "stmtID": 1809, + "stmtID": 1811, "srcEdges": [ 59 ], @@ -49,7 +49,7 @@ }, { "id": 72, - "stmtID": 1814, + "stmtID": 1816, "srcEdges": [ 60 ], @@ -81,12 +81,12 @@ } }, { - "name": "SampleJetton.receive_internal_simple_1855", + "name": "SampleJetton.receive_internal_simple_1857", "cfg": { "nodes": [ { "id": 73, - "stmtID": 1823, + "stmtID": 1825, "srcEdges": [], "dstEdges": [ 61 @@ -94,7 +94,7 @@ }, { "id": 74, - "stmtID": 1834, + "stmtID": 1836, "srcEdges": [ 61 ], @@ -104,7 +104,7 @@ }, { "id": 75, - "stmtID": 1841, + "stmtID": 1843, "srcEdges": [ 62 ], @@ -114,7 +114,7 @@ }, { "id": 76, - "stmtID": 1854, + "stmtID": 1856, "srcEdges": [ 63 ], @@ -141,12 +141,12 @@ } }, { - "name": "SampleJetton.receive_internal_comment_1880_Mint: 100", + "name": "SampleJetton.receive_internal_comment_1882_Mint: 100", "cfg": { "nodes": [ { "id": 77, - "stmtID": 1861, + "stmtID": 1863, "srcEdges": [], "dstEdges": [ 64 @@ -154,7 +154,7 @@ }, { "id": 78, - "stmtID": 1868, + "stmtID": 1870, "srcEdges": [ 64 ], @@ -164,7 +164,7 @@ }, { "id": 79, - "stmtID": 1879, + "stmtID": 1881, "srcEdges": [ 65 ], @@ -186,12 +186,12 @@ } }, { - "name": "SampleJetton.receive_internal_comment_1903_Owner: MintClose", + "name": "SampleJetton.receive_internal_comment_1905_Owner: MintClose", "cfg": { "nodes": [ { "id": 80, - "stmtID": 1886, + "stmtID": 1888, "srcEdges": [], "dstEdges": [ 66 @@ -199,7 +199,7 @@ }, { "id": 81, - "stmtID": 1897, + "stmtID": 1899, "srcEdges": [ 66 ], @@ -209,7 +209,7 @@ }, { "id": 82, - "stmtID": 1902, + "stmtID": 1904, "srcEdges": [ 67 ], @@ -236,12 +236,12 @@ "name": "JettonDefaultWallet", "methods": [ { - "name": "JettonDefaultWallet.init_2908", + "name": "JettonDefaultWallet.init_2910", "cfg": { "nodes": [ { "id": 83, - "stmtID": 2346, + "stmtID": 2348, "srcEdges": [], "dstEdges": [ 68 @@ -249,7 +249,7 @@ }, { "id": 84, - "stmtID": 2351, + "stmtID": 2353, "srcEdges": [ 68 ], @@ -259,7 +259,7 @@ }, { "id": 85, - "stmtID": 2356, + "stmtID": 2358, "srcEdges": [ 69 ], @@ -281,12 +281,12 @@ } }, { - "name": "JettonDefaultWallet.receive_internal_simple_2515", + "name": "JettonDefaultWallet.receive_internal_simple_2517", "cfg": { "nodes": [ { "id": 86, - "stmtID": 2365, + "stmtID": 2367, "srcEdges": [], "dstEdges": [ 70 @@ -294,7 +294,7 @@ }, { "id": 87, - "stmtID": 2376, + "stmtID": 2378, "srcEdges": [ 70 ], @@ -304,7 +304,7 @@ }, { "id": 88, - "stmtID": 2386, + "stmtID": 2388, "srcEdges": [ 71 ], @@ -314,7 +314,7 @@ }, { "id": 89, - "stmtID": 2400, + "stmtID": 2402, "srcEdges": [ 72 ], @@ -324,7 +324,7 @@ }, { "id": 90, - "stmtID": 2414, + "stmtID": 2416, "srcEdges": [ 73 ], @@ -334,7 +334,7 @@ }, { "id": 91, - "stmtID": 2425, + "stmtID": 2427, "srcEdges": [ 74 ], @@ -344,7 +344,7 @@ }, { "id": 92, - "stmtID": 2434, + "stmtID": 2436, "srcEdges": [ 75 ], @@ -354,7 +354,7 @@ }, { "id": 93, - "stmtID": 2445, + "stmtID": 2447, "srcEdges": [ 76 ], @@ -364,7 +364,7 @@ }, { "id": 94, - "stmtID": 2451, + "stmtID": 2453, "srcEdges": [ 77 ], @@ -374,7 +374,7 @@ }, { "id": 95, - "stmtID": 2514, + "stmtID": 2516, "srcEdges": [ 78 ], @@ -431,12 +431,12 @@ } }, { - "name": "JettonDefaultWallet.receive_internal_simple_2685", + "name": "JettonDefaultWallet.receive_internal_simple_2687", "cfg": { "nodes": [ { "id": 96, - "stmtID": 2523, + "stmtID": 2525, "srcEdges": [], "dstEdges": [ 79 @@ -444,7 +444,7 @@ }, { "id": 97, - "stmtID": 2553, + "stmtID": 2555, "srcEdges": [ 79 ], @@ -454,7 +454,7 @@ }, { "id": 98, - "stmtID": 2541, + "stmtID": 2543, "srcEdges": [ 80 ], @@ -464,7 +464,7 @@ }, { "id": 99, - "stmtID": 2552, + "stmtID": 2554, "srcEdges": [ 81 ], @@ -474,7 +474,7 @@ }, { "id": 100, - "stmtID": 2564, + "stmtID": 2566, "srcEdges": [ 82 ], @@ -484,7 +484,7 @@ }, { "id": 101, - "stmtID": 2573, + "stmtID": 2575, "srcEdges": [ 83 ], @@ -494,7 +494,7 @@ }, { "id": 102, - "stmtID": 2623, + "stmtID": 2625, "srcEdges": [ 84 ], @@ -504,7 +504,7 @@ }, { "id": 103, - "stmtID": 2622, + "stmtID": 2624, "srcEdges": [ 85 ], @@ -514,7 +514,7 @@ }, { "id": 104, - "stmtID": 2632, + "stmtID": 2634, "srcEdges": [ 86 ], @@ -524,7 +524,7 @@ }, { "id": 105, - "stmtID": 2638, + "stmtID": 2640, "srcEdges": [ 87 ], @@ -534,7 +534,7 @@ }, { "id": 106, - "stmtID": 2647, + "stmtID": 2649, "srcEdges": [ 88 ], @@ -544,7 +544,7 @@ }, { "id": 107, - "stmtID": 2684, + "stmtID": 2686, "srcEdges": [ 89 ], @@ -554,7 +554,7 @@ }, { "id": 108, - "stmtID": 2683, + "stmtID": 2685, "srcEdges": [ 90 ], @@ -631,7 +631,7 @@ "nodes": [ { "id": 109, - "stmtID": 2697, + "stmtID": 2699, "srcEdges": [], "dstEdges": [ 91 @@ -639,7 +639,7 @@ }, { "id": 110, - "stmtID": 2710, + "stmtID": 2712, "srcEdges": [ 91 ], @@ -649,7 +649,7 @@ }, { "id": 111, - "stmtID": 2717, + "stmtID": 2719, "srcEdges": [ 92 ], @@ -659,7 +659,7 @@ }, { "id": 112, - "stmtID": 2719, + "stmtID": 2721, "srcEdges": [ 93 ], @@ -686,12 +686,12 @@ } }, { - "name": "JettonDefaultWallet.receive_internal_simple_2830", + "name": "JettonDefaultWallet.receive_internal_simple_2832", "cfg": { "nodes": [ { "id": 113, - "stmtID": 2728, + "stmtID": 2730, "srcEdges": [], "dstEdges": [ 94 @@ -699,7 +699,7 @@ }, { "id": 114, - "stmtID": 2739, + "stmtID": 2741, "srcEdges": [ 94 ], @@ -709,7 +709,7 @@ }, { "id": 115, - "stmtID": 2750, + "stmtID": 2752, "srcEdges": [ 95 ], @@ -719,7 +719,7 @@ }, { "id": 116, - "stmtID": 2759, + "stmtID": 2761, "srcEdges": [ 96 ], @@ -729,7 +729,7 @@ }, { "id": 117, - "stmtID": 2765, + "stmtID": 2767, "srcEdges": [ 97 ], @@ -739,7 +739,7 @@ }, { "id": 118, - "stmtID": 2784, + "stmtID": 2786, "srcEdges": [ 98 ], @@ -749,7 +749,7 @@ }, { "id": 119, - "stmtID": 2829, + "stmtID": 2831, "srcEdges": [ 99 ], @@ -791,12 +791,12 @@ } }, { - "name": "JettonDefaultWallet.receive_bounce_2874", + "name": "JettonDefaultWallet.receive_bounce_2876", "cfg": { "nodes": [ { "id": 120, - "stmtID": 2840, + "stmtID": 2842, "srcEdges": [], "dstEdges": [ 100 @@ -804,7 +804,7 @@ }, { "id": 121, - "stmtID": 2847, + "stmtID": 2849, "srcEdges": [ 100 ], @@ -814,7 +814,7 @@ }, { "id": 122, - "stmtID": 2853, + "stmtID": 2855, "srcEdges": [ 101 ], @@ -824,7 +824,7 @@ }, { "id": 123, - "stmtID": 2864, + "stmtID": 2866, "srcEdges": [ 102 ], @@ -834,7 +834,7 @@ }, { "id": 124, - "stmtID": 2873, + "stmtID": 2875, "srcEdges": [ 103 ], @@ -871,7 +871,7 @@ "nodes": [ { "id": 125, - "stmtID": 2906, + "stmtID": 2908, "srcEdges": [], "dstEdges": [] } diff --git a/test/all/sample-jetton.cfg.mmd b/test/all/sample-jetton.cfg.mmd index b2cbd227..15a6eeab 100644 --- a/test/all/sample-jetton.cfg.mmd +++ b/test/all/sample-jetton.cfg.mmd @@ -1,92 +1,92 @@ graph TD -subgraph SampleJetton__init_1905 - SampleJetton__init_1905_68["self.totalSupply = 0"] - SampleJetton__init_1905_69["self.max_supply = max_supply"] - SampleJetton__init_1905_70["self.owner = owner"] - SampleJetton__init_1905_71["self.mintable = true"] - SampleJetton__init_1905_72["self.content = content"]:::exitNode - SampleJetton__init_1905_68 --> SampleJetton__init_1905_69 - SampleJetton__init_1905_69 --> SampleJetton__init_1905_70 - SampleJetton__init_1905_70 --> SampleJetton__init_1905_71 - SampleJetton__init_1905_71 --> SampleJetton__init_1905_72 +subgraph SampleJetton__init_1907 + SampleJetton__init_1907_68["self.totalSupply = 0"] + SampleJetton__init_1907_69["self.max_supply = max_supply"] + SampleJetton__init_1907_70["self.owner = owner"] + SampleJetton__init_1907_71["self.mintable = true"] + SampleJetton__init_1907_72["self.content = content"]:::exitNode + SampleJetton__init_1907_68 --> SampleJetton__init_1907_69 + SampleJetton__init_1907_69 --> SampleJetton__init_1907_70 + SampleJetton__init_1907_70 --> SampleJetton__init_1907_71 + SampleJetton__init_1907_71 --> SampleJetton__init_1907_72 end -subgraph SampleJetton__receive_internal_simple_1855 - SampleJetton__receive_internal_simple_1855_73["let ctx: Context = context()"] - SampleJetton__receive_internal_simple_1855_74["require(ctx.sender == self.owner, 'Not Owner')"] - SampleJetton__receive_internal_simple_1855_75["require(self.mintable, 'Can't Mint Anymore')"] - SampleJetton__receive_internal_simple_1855_76["self.mint(msg.receiver, msg.amount, self.owner)"]:::exitNode - SampleJetton__receive_internal_simple_1855_73 --> SampleJetton__receive_internal_simple_1855_74 - SampleJetton__receive_internal_simple_1855_74 --> SampleJetton__receive_internal_simple_1855_75 - SampleJetton__receive_internal_simple_1855_75 --> SampleJetton__receive_internal_simple_1855_76 +subgraph SampleJetton__receive_internal_simple_1857 + SampleJetton__receive_internal_simple_1857_73["let ctx: Context = context()"] + SampleJetton__receive_internal_simple_1857_74["require(ctx.sender == self.owner, 'Not Owner')"] + SampleJetton__receive_internal_simple_1857_75["require(self.mintable, 'Can't Mint Anymore')"] + SampleJetton__receive_internal_simple_1857_76["self.mint(msg.receiver, msg.amount, self.owner)"]:::exitNode + SampleJetton__receive_internal_simple_1857_73 --> SampleJetton__receive_internal_simple_1857_74 + SampleJetton__receive_internal_simple_1857_74 --> SampleJetton__receive_internal_simple_1857_75 + SampleJetton__receive_internal_simple_1857_75 --> SampleJetton__receive_internal_simple_1857_76 end -subgraph SampleJetton__receive_internal_comment_1880_Mint__100 - SampleJetton__receive_internal_comment_1880_Mint__100_77["let ctx: Context = context()"] - SampleJetton__receive_internal_comment_1880_Mint__100_78["require(self.mintable, 'Can't Mint Anymore')"] - SampleJetton__receive_internal_comment_1880_Mint__100_79["self.mint(ctx.sender, 100, self.owner)"]:::exitNode - SampleJetton__receive_internal_comment_1880_Mint__100_77 --> SampleJetton__receive_internal_comment_1880_Mint__100_78 - SampleJetton__receive_internal_comment_1880_Mint__100_78 --> SampleJetton__receive_internal_comment_1880_Mint__100_79 +subgraph SampleJetton__receive_internal_comment_1882_Mint__100 + SampleJetton__receive_internal_comment_1882_Mint__100_77["let ctx: Context = context()"] + SampleJetton__receive_internal_comment_1882_Mint__100_78["require(self.mintable, 'Can't Mint Anymore')"] + SampleJetton__receive_internal_comment_1882_Mint__100_79["self.mint(ctx.sender, 100, self.owner)"]:::exitNode + SampleJetton__receive_internal_comment_1882_Mint__100_77 --> SampleJetton__receive_internal_comment_1882_Mint__100_78 + SampleJetton__receive_internal_comment_1882_Mint__100_78 --> SampleJetton__receive_internal_comment_1882_Mint__100_79 end -subgraph SampleJetton__receive_internal_comment_1903_Owner__MintClose - SampleJetton__receive_internal_comment_1903_Owner__MintClose_80["let ctx: Context = context()"] - SampleJetton__receive_internal_comment_1903_Owner__MintClose_81["require(ctx.sender == self.owner, 'Not Owner')"] - SampleJetton__receive_internal_comment_1903_Owner__MintClose_82["self.mintable = false"]:::exitNode - SampleJetton__receive_internal_comment_1903_Owner__MintClose_80 --> SampleJetton__receive_internal_comment_1903_Owner__MintClose_81 - SampleJetton__receive_internal_comment_1903_Owner__MintClose_81 --> SampleJetton__receive_internal_comment_1903_Owner__MintClose_82 +subgraph SampleJetton__receive_internal_comment_1905_Owner__MintClose + SampleJetton__receive_internal_comment_1905_Owner__MintClose_80["let ctx: Context = context()"] + SampleJetton__receive_internal_comment_1905_Owner__MintClose_81["require(ctx.sender == self.owner, 'Not Owner')"] + SampleJetton__receive_internal_comment_1905_Owner__MintClose_82["self.mintable = false"]:::exitNode + SampleJetton__receive_internal_comment_1905_Owner__MintClose_80 --> SampleJetton__receive_internal_comment_1905_Owner__MintClose_81 + SampleJetton__receive_internal_comment_1905_Owner__MintClose_81 --> SampleJetton__receive_internal_comment_1905_Owner__MintClose_82 end -subgraph JettonDefaultWallet__init_2908 - JettonDefaultWallet__init_2908_83["self.balance = 0"] - JettonDefaultWallet__init_2908_84["self.owner = owner"] - JettonDefaultWallet__init_2908_85["self.master = master"]:::exitNode - JettonDefaultWallet__init_2908_83 --> JettonDefaultWallet__init_2908_84 - JettonDefaultWallet__init_2908_84 --> JettonDefaultWallet__init_2908_85 +subgraph JettonDefaultWallet__init_2910 + JettonDefaultWallet__init_2910_83["self.balance = 0"] + JettonDefaultWallet__init_2910_84["self.owner = owner"] + JettonDefaultWallet__init_2910_85["self.master = master"]:::exitNode + JettonDefaultWallet__init_2910_83 --> JettonDefaultWallet__init_2910_84 + JettonDefaultWallet__init_2910_84 --> JettonDefaultWallet__init_2910_85 end -subgraph JettonDefaultWallet__receive_internal_simple_2515 - JettonDefaultWallet__receive_internal_simple_2515_86["let ctx: Context = context()"] - JettonDefaultWallet__receive_internal_simple_2515_87["require(ctx.sender == self.owner, 'Invalid sender')"] - JettonDefaultWallet__receive_internal_simple_2515_88["let fwdFee: Int = ctx.readForwardFee() + ctx.readForwardFee()"] - JettonDefaultWallet__receive_internal_simple_2515_89["let final: Int = 2 * self.gasConsumption + self.minTonsForStorage + fwdFee"] - JettonDefaultWallet__receive_internal_simple_2515_90["require(ctx.value > min(final, ton('0.01')), 'Invalid value!!')"] - JettonDefaultWallet__receive_internal_simple_2515_91["self.balance = self.balance - msg.amount"] - JettonDefaultWallet__receive_internal_simple_2515_92["require(self.balance >= 0, 'Invalid balance')"] - JettonDefaultWallet__receive_internal_simple_2515_93["let init: StateInit = initOf JettonDefaultWallet(self.master, msg.destination)"] - JettonDefaultWallet__receive_internal_simple_2515_94["let walletAddress: Address = contractAddress(init)"] - JettonDefaultWallet__receive_internal_simple_2515_95["send(SendParameters{to: walletAddress, value: 0, mode: SendRemainingValue, bounce: false, body: TokenTransferInternal{queryId: msg.queryId, amount: msg.amount, from: self.owner, response_destination: msg.response_destination, forward_ton_amount: msg.forward_ton_amount, forward_payload: msg.forward_payload}.toCell(), code: init.code, data: init.data})"]:::exitNode - JettonDefaultWallet__receive_internal_simple_2515_86 --> JettonDefaultWallet__receive_internal_simple_2515_87 - JettonDefaultWallet__receive_internal_simple_2515_87 --> JettonDefaultWallet__receive_internal_simple_2515_88 - JettonDefaultWallet__receive_internal_simple_2515_88 --> JettonDefaultWallet__receive_internal_simple_2515_89 - JettonDefaultWallet__receive_internal_simple_2515_89 --> JettonDefaultWallet__receive_internal_simple_2515_90 - JettonDefaultWallet__receive_internal_simple_2515_90 --> JettonDefaultWallet__receive_internal_simple_2515_91 - JettonDefaultWallet__receive_internal_simple_2515_91 --> JettonDefaultWallet__receive_internal_simple_2515_92 - JettonDefaultWallet__receive_internal_simple_2515_92 --> JettonDefaultWallet__receive_internal_simple_2515_93 - JettonDefaultWallet__receive_internal_simple_2515_93 --> JettonDefaultWallet__receive_internal_simple_2515_94 - JettonDefaultWallet__receive_internal_simple_2515_94 --> JettonDefaultWallet__receive_internal_simple_2515_95 +subgraph JettonDefaultWallet__receive_internal_simple_2517 + JettonDefaultWallet__receive_internal_simple_2517_86["let ctx: Context = context()"] + JettonDefaultWallet__receive_internal_simple_2517_87["require(ctx.sender == self.owner, 'Invalid sender')"] + JettonDefaultWallet__receive_internal_simple_2517_88["let fwdFee: Int = ctx.readForwardFee() + ctx.readForwardFee()"] + JettonDefaultWallet__receive_internal_simple_2517_89["let final: Int = 2 * self.gasConsumption + self.minTonsForStorage + fwdFee"] + JettonDefaultWallet__receive_internal_simple_2517_90["require(ctx.value > min(final, ton('0.01')), 'Invalid value!!')"] + JettonDefaultWallet__receive_internal_simple_2517_91["self.balance = self.balance - msg.amount"] + JettonDefaultWallet__receive_internal_simple_2517_92["require(self.balance >= 0, 'Invalid balance')"] + JettonDefaultWallet__receive_internal_simple_2517_93["let init: StateInit = initOf JettonDefaultWallet(self.master, msg.destination)"] + JettonDefaultWallet__receive_internal_simple_2517_94["let walletAddress: Address = contractAddress(init)"] + JettonDefaultWallet__receive_internal_simple_2517_95["send(SendParameters{to: walletAddress, value: 0, mode: SendRemainingValue, bounce: false, body: TokenTransferInternal{queryId: msg.queryId, amount: msg.amount, from: self.owner, response_destination: msg.response_destination, forward_ton_amount: msg.forward_ton_amount, forward_payload: msg.forward_payload}.toCell(), code: init.code, data: init.data})"]:::exitNode + JettonDefaultWallet__receive_internal_simple_2517_86 --> JettonDefaultWallet__receive_internal_simple_2517_87 + JettonDefaultWallet__receive_internal_simple_2517_87 --> JettonDefaultWallet__receive_internal_simple_2517_88 + JettonDefaultWallet__receive_internal_simple_2517_88 --> JettonDefaultWallet__receive_internal_simple_2517_89 + JettonDefaultWallet__receive_internal_simple_2517_89 --> JettonDefaultWallet__receive_internal_simple_2517_90 + JettonDefaultWallet__receive_internal_simple_2517_90 --> JettonDefaultWallet__receive_internal_simple_2517_91 + JettonDefaultWallet__receive_internal_simple_2517_91 --> JettonDefaultWallet__receive_internal_simple_2517_92 + JettonDefaultWallet__receive_internal_simple_2517_92 --> JettonDefaultWallet__receive_internal_simple_2517_93 + JettonDefaultWallet__receive_internal_simple_2517_93 --> JettonDefaultWallet__receive_internal_simple_2517_94 + JettonDefaultWallet__receive_internal_simple_2517_94 --> JettonDefaultWallet__receive_internal_simple_2517_95 end -subgraph JettonDefaultWallet__receive_internal_simple_2685 - JettonDefaultWallet__receive_internal_simple_2685_96["let ctx: Context = context()"] - JettonDefaultWallet__receive_internal_simple_2685_97["if (ctx.sender != self.master)"] - JettonDefaultWallet__receive_internal_simple_2685_98["let sInit: StateInit = initOf JettonDefaultWallet(self.master, msg.from)"] - JettonDefaultWallet__receive_internal_simple_2685_99["require(contractAddress(sInit) == ctx.sender, 'Invalid sender!')"] - JettonDefaultWallet__receive_internal_simple_2685_100["self.balance = self.balance + msg.amount"] - JettonDefaultWallet__receive_internal_simple_2685_101["require(self.balance >= 0, 'Invalid balance')"] - JettonDefaultWallet__receive_internal_simple_2685_102["if (msg.forward_ton_amount > 0)"] - JettonDefaultWallet__receive_internal_simple_2685_103["send(SendParameters{to: self.owner, value: msg.forward_ton_amount, bounce: false, body: TokenNotification{queryId: msg.queryId, amount: msg.amount, from: msg.from, forward_payload: msg.forward_payload}.toCell()})"] - JettonDefaultWallet__receive_internal_simple_2685_104["let msgValue: Int = self.msgValue(ctx.value)"] - JettonDefaultWallet__receive_internal_simple_2685_105["let fwdFee: Int = ctx.readForwardFee()"] - JettonDefaultWallet__receive_internal_simple_2685_106["msgValue = msgValue - msg.forward_ton_amount - fwdFee"] - JettonDefaultWallet__receive_internal_simple_2685_107["if (msg.response_destination != null)"] - JettonDefaultWallet__receive_internal_simple_2685_108["send(SendParameters{to: !!msg.response_destination, value: msgValue, bounce: false, body: TokenExcesses{queryId: msg.queryId}.toCell(), mode: SendIgnoreErrors})"]:::exitNode - JettonDefaultWallet__receive_internal_simple_2685_96 --> JettonDefaultWallet__receive_internal_simple_2685_97 - JettonDefaultWallet__receive_internal_simple_2685_97 --> JettonDefaultWallet__receive_internal_simple_2685_98 - JettonDefaultWallet__receive_internal_simple_2685_98 --> JettonDefaultWallet__receive_internal_simple_2685_99 - JettonDefaultWallet__receive_internal_simple_2685_99 --> JettonDefaultWallet__receive_internal_simple_2685_100 - JettonDefaultWallet__receive_internal_simple_2685_100 --> JettonDefaultWallet__receive_internal_simple_2685_101 - JettonDefaultWallet__receive_internal_simple_2685_101 --> JettonDefaultWallet__receive_internal_simple_2685_102 - JettonDefaultWallet__receive_internal_simple_2685_102 --> JettonDefaultWallet__receive_internal_simple_2685_103 - JettonDefaultWallet__receive_internal_simple_2685_103 --> JettonDefaultWallet__receive_internal_simple_2685_104 - JettonDefaultWallet__receive_internal_simple_2685_104 --> JettonDefaultWallet__receive_internal_simple_2685_105 - JettonDefaultWallet__receive_internal_simple_2685_105 --> JettonDefaultWallet__receive_internal_simple_2685_106 - JettonDefaultWallet__receive_internal_simple_2685_106 --> JettonDefaultWallet__receive_internal_simple_2685_107 - JettonDefaultWallet__receive_internal_simple_2685_107 --> JettonDefaultWallet__receive_internal_simple_2685_108 +subgraph JettonDefaultWallet__receive_internal_simple_2687 + JettonDefaultWallet__receive_internal_simple_2687_96["let ctx: Context = context()"] + JettonDefaultWallet__receive_internal_simple_2687_97["if (ctx.sender != self.master)"] + JettonDefaultWallet__receive_internal_simple_2687_98["let sInit: StateInit = initOf JettonDefaultWallet(self.master, msg.from)"] + JettonDefaultWallet__receive_internal_simple_2687_99["require(contractAddress(sInit) == ctx.sender, 'Invalid sender!')"] + JettonDefaultWallet__receive_internal_simple_2687_100["self.balance = self.balance + msg.amount"] + JettonDefaultWallet__receive_internal_simple_2687_101["require(self.balance >= 0, 'Invalid balance')"] + JettonDefaultWallet__receive_internal_simple_2687_102["if (msg.forward_ton_amount > 0)"] + JettonDefaultWallet__receive_internal_simple_2687_103["send(SendParameters{to: self.owner, value: msg.forward_ton_amount, bounce: false, body: TokenNotification{queryId: msg.queryId, amount: msg.amount, from: msg.from, forward_payload: msg.forward_payload}.toCell()})"] + JettonDefaultWallet__receive_internal_simple_2687_104["let msgValue: Int = self.msgValue(ctx.value)"] + JettonDefaultWallet__receive_internal_simple_2687_105["let fwdFee: Int = ctx.readForwardFee()"] + JettonDefaultWallet__receive_internal_simple_2687_106["msgValue = msgValue - msg.forward_ton_amount - fwdFee"] + JettonDefaultWallet__receive_internal_simple_2687_107["if (msg.response_destination != null)"] + JettonDefaultWallet__receive_internal_simple_2687_108["send(SendParameters{to: !!msg.response_destination, value: msgValue, bounce: false, body: TokenExcesses{queryId: msg.queryId}.toCell(), mode: SendIgnoreErrors})"]:::exitNode + JettonDefaultWallet__receive_internal_simple_2687_96 --> JettonDefaultWallet__receive_internal_simple_2687_97 + JettonDefaultWallet__receive_internal_simple_2687_97 --> JettonDefaultWallet__receive_internal_simple_2687_98 + JettonDefaultWallet__receive_internal_simple_2687_98 --> JettonDefaultWallet__receive_internal_simple_2687_99 + JettonDefaultWallet__receive_internal_simple_2687_99 --> JettonDefaultWallet__receive_internal_simple_2687_100 + JettonDefaultWallet__receive_internal_simple_2687_100 --> JettonDefaultWallet__receive_internal_simple_2687_101 + JettonDefaultWallet__receive_internal_simple_2687_101 --> JettonDefaultWallet__receive_internal_simple_2687_102 + JettonDefaultWallet__receive_internal_simple_2687_102 --> JettonDefaultWallet__receive_internal_simple_2687_103 + JettonDefaultWallet__receive_internal_simple_2687_103 --> JettonDefaultWallet__receive_internal_simple_2687_104 + JettonDefaultWallet__receive_internal_simple_2687_104 --> JettonDefaultWallet__receive_internal_simple_2687_105 + JettonDefaultWallet__receive_internal_simple_2687_105 --> JettonDefaultWallet__receive_internal_simple_2687_106 + JettonDefaultWallet__receive_internal_simple_2687_106 --> JettonDefaultWallet__receive_internal_simple_2687_107 + JettonDefaultWallet__receive_internal_simple_2687_107 --> JettonDefaultWallet__receive_internal_simple_2687_108 end subgraph JettonDefaultWallet__msgValue JettonDefaultWallet__msgValue_109["let tonBalanceBeforeMsg: Int = myBalance() - value"] @@ -97,31 +97,31 @@ subgraph JettonDefaultWallet__msgValue JettonDefaultWallet__msgValue_110 --> JettonDefaultWallet__msgValue_111 JettonDefaultWallet__msgValue_111 --> JettonDefaultWallet__msgValue_112 end -subgraph JettonDefaultWallet__receive_internal_simple_2830 - JettonDefaultWallet__receive_internal_simple_2830_113["let ctx: Context = context()"] - JettonDefaultWallet__receive_internal_simple_2830_114["require(ctx.sender == self.owner, 'Invalid sender')"] - JettonDefaultWallet__receive_internal_simple_2830_115["self.balance = self.balance - msg.amount"] - JettonDefaultWallet__receive_internal_simple_2830_116["require(self.balance >= 0, 'Invalid balance')"] - JettonDefaultWallet__receive_internal_simple_2830_117["let fwdFee: Int = ctx.readForwardFee()"] - JettonDefaultWallet__receive_internal_simple_2830_118["require(ctx.value > fwdFee + 2 * self.gasConsumption + self.minTonsForStorage, 'Invalid value - Burn')"] - JettonDefaultWallet__receive_internal_simple_2830_119["send(SendParameters{to: self.master, value: 0, mode: SendRemainingValue, bounce: true, body: TokenBurnNotification{queryId: msg.queryId, amount: msg.amount, owner: self.owner, response_destination: self.owner}.toCell()})"]:::exitNode - JettonDefaultWallet__receive_internal_simple_2830_113 --> JettonDefaultWallet__receive_internal_simple_2830_114 - JettonDefaultWallet__receive_internal_simple_2830_114 --> JettonDefaultWallet__receive_internal_simple_2830_115 - JettonDefaultWallet__receive_internal_simple_2830_115 --> JettonDefaultWallet__receive_internal_simple_2830_116 - JettonDefaultWallet__receive_internal_simple_2830_116 --> JettonDefaultWallet__receive_internal_simple_2830_117 - JettonDefaultWallet__receive_internal_simple_2830_117 --> JettonDefaultWallet__receive_internal_simple_2830_118 - JettonDefaultWallet__receive_internal_simple_2830_118 --> JettonDefaultWallet__receive_internal_simple_2830_119 +subgraph JettonDefaultWallet__receive_internal_simple_2832 + JettonDefaultWallet__receive_internal_simple_2832_113["let ctx: Context = context()"] + JettonDefaultWallet__receive_internal_simple_2832_114["require(ctx.sender == self.owner, 'Invalid sender')"] + JettonDefaultWallet__receive_internal_simple_2832_115["self.balance = self.balance - msg.amount"] + JettonDefaultWallet__receive_internal_simple_2832_116["require(self.balance >= 0, 'Invalid balance')"] + JettonDefaultWallet__receive_internal_simple_2832_117["let fwdFee: Int = ctx.readForwardFee()"] + JettonDefaultWallet__receive_internal_simple_2832_118["require(ctx.value > fwdFee + 2 * self.gasConsumption + self.minTonsForStorage, 'Invalid value - Burn')"] + JettonDefaultWallet__receive_internal_simple_2832_119["send(SendParameters{to: self.master, value: 0, mode: SendRemainingValue, bounce: true, body: TokenBurnNotification{queryId: msg.queryId, amount: msg.amount, owner: self.owner, response_destination: self.owner}.toCell()})"]:::exitNode + JettonDefaultWallet__receive_internal_simple_2832_113 --> JettonDefaultWallet__receive_internal_simple_2832_114 + JettonDefaultWallet__receive_internal_simple_2832_114 --> JettonDefaultWallet__receive_internal_simple_2832_115 + JettonDefaultWallet__receive_internal_simple_2832_115 --> JettonDefaultWallet__receive_internal_simple_2832_116 + JettonDefaultWallet__receive_internal_simple_2832_116 --> JettonDefaultWallet__receive_internal_simple_2832_117 + JettonDefaultWallet__receive_internal_simple_2832_117 --> JettonDefaultWallet__receive_internal_simple_2832_118 + JettonDefaultWallet__receive_internal_simple_2832_118 --> JettonDefaultWallet__receive_internal_simple_2832_119 end -subgraph JettonDefaultWallet__receive_bounce_2874 - JettonDefaultWallet__receive_bounce_2874_120["let op: Int = msg.loadUint(32)"] - JettonDefaultWallet__receive_bounce_2874_121["let queryId: Int = msg.loadUint(64)"] - JettonDefaultWallet__receive_bounce_2874_122["let jettonAmount: Int = msg.loadCoins()"] - JettonDefaultWallet__receive_bounce_2874_123["require(op == 0x178d4519 || op == 0x7bdd97de, 'Invalid bounced message')"] - JettonDefaultWallet__receive_bounce_2874_124["self.balance = self.balance + jettonAmount"]:::exitNode - JettonDefaultWallet__receive_bounce_2874_120 --> JettonDefaultWallet__receive_bounce_2874_121 - JettonDefaultWallet__receive_bounce_2874_121 --> JettonDefaultWallet__receive_bounce_2874_122 - JettonDefaultWallet__receive_bounce_2874_122 --> JettonDefaultWallet__receive_bounce_2874_123 - JettonDefaultWallet__receive_bounce_2874_123 --> JettonDefaultWallet__receive_bounce_2874_124 +subgraph JettonDefaultWallet__receive_bounce_2876 + JettonDefaultWallet__receive_bounce_2876_120["let op: Int = msg.loadUint(32)"] + JettonDefaultWallet__receive_bounce_2876_121["let queryId: Int = msg.loadUint(64)"] + JettonDefaultWallet__receive_bounce_2876_122["let jettonAmount: Int = msg.loadCoins()"] + JettonDefaultWallet__receive_bounce_2876_123["require(op == 0x178d4519 || op == 0x7bdd97de, 'Invalid bounced message')"] + JettonDefaultWallet__receive_bounce_2876_124["self.balance = self.balance + jettonAmount"]:::exitNode + JettonDefaultWallet__receive_bounce_2876_120 --> JettonDefaultWallet__receive_bounce_2876_121 + JettonDefaultWallet__receive_bounce_2876_121 --> JettonDefaultWallet__receive_bounce_2876_122 + JettonDefaultWallet__receive_bounce_2876_122 --> JettonDefaultWallet__receive_bounce_2876_123 + JettonDefaultWallet__receive_bounce_2876_123 --> JettonDefaultWallet__receive_bounce_2876_124 end subgraph JettonDefaultWallet__get_wallet_data JettonDefaultWallet__get_wallet_data_125["return JettonWalletData{balance: self.balance, owner: self.owner, master: self.master, walletCode: initOf JettonDefaultWallet(self.master, self.owner).code}"]:::exitNode diff --git a/test/all/sample-jetton.expected.cfg.dot b/test/all/sample-jetton.expected.cfg.dot index 1c8f15be..6c88cd8e 100644 --- a/test/all/sample-jetton.expected.cfg.dot +++ b/test/all/sample-jetton.expected.cfg.dot @@ -1,100 +1,100 @@ digraph "sample-jetton" { node [shape=box]; - subgraph "cluster_SampleJetton__init_1905" { - label="SampleJetton__init_1905"; - "SampleJetton__init_1905_68" [label="self.totalSupply = 0"]; - "SampleJetton__init_1905_69" [label="self.max_supply = max_supply"]; - "SampleJetton__init_1905_70" [label="self.owner = owner"]; - "SampleJetton__init_1905_71" [label="self.mintable = true"]; - "SampleJetton__init_1905_72" [label="self.content = content",style=filled,fillcolor="#66A7DB"]; - "SampleJetton__init_1905_68" -> "SampleJetton__init_1905_69"; - "SampleJetton__init_1905_69" -> "SampleJetton__init_1905_70"; - "SampleJetton__init_1905_70" -> "SampleJetton__init_1905_71"; - "SampleJetton__init_1905_71" -> "SampleJetton__init_1905_72"; + subgraph "cluster_SampleJetton__init_1907" { + label="SampleJetton__init_1907"; + "SampleJetton__init_1907_68" [label="self.totalSupply = 0"]; + "SampleJetton__init_1907_69" [label="self.max_supply = max_supply"]; + "SampleJetton__init_1907_70" [label="self.owner = owner"]; + "SampleJetton__init_1907_71" [label="self.mintable = true"]; + "SampleJetton__init_1907_72" [label="self.content = content",style=filled,fillcolor="#66A7DB"]; + "SampleJetton__init_1907_68" -> "SampleJetton__init_1907_69"; + "SampleJetton__init_1907_69" -> "SampleJetton__init_1907_70"; + "SampleJetton__init_1907_70" -> "SampleJetton__init_1907_71"; + "SampleJetton__init_1907_71" -> "SampleJetton__init_1907_72"; } - subgraph "cluster_SampleJetton__receive_internal_simple_1855" { - label="SampleJetton__receive_internal_simple_1855"; - "SampleJetton__receive_internal_simple_1855_73" [label="let ctx: Context = context()"]; - "SampleJetton__receive_internal_simple_1855_74" [label="require(ctx.sender == self.owner, \"Not Owner\")"]; - "SampleJetton__receive_internal_simple_1855_75" [label="require(self.mintable, \"Can't Mint Anymore\")"]; - "SampleJetton__receive_internal_simple_1855_76" [label="self.mint(msg.receiver, msg.amount, self.owner)",style=filled,fillcolor="#66A7DB"]; - "SampleJetton__receive_internal_simple_1855_73" -> "SampleJetton__receive_internal_simple_1855_74"; - "SampleJetton__receive_internal_simple_1855_74" -> "SampleJetton__receive_internal_simple_1855_75"; - "SampleJetton__receive_internal_simple_1855_75" -> "SampleJetton__receive_internal_simple_1855_76"; + subgraph "cluster_SampleJetton__receive_internal_simple_1857" { + label="SampleJetton__receive_internal_simple_1857"; + "SampleJetton__receive_internal_simple_1857_73" [label="let ctx: Context = context()"]; + "SampleJetton__receive_internal_simple_1857_74" [label="require(ctx.sender == self.owner, \"Not Owner\")"]; + "SampleJetton__receive_internal_simple_1857_75" [label="require(self.mintable, \"Can't Mint Anymore\")"]; + "SampleJetton__receive_internal_simple_1857_76" [label="self.mint(msg.receiver, msg.amount, self.owner)",style=filled,fillcolor="#66A7DB"]; + "SampleJetton__receive_internal_simple_1857_73" -> "SampleJetton__receive_internal_simple_1857_74"; + "SampleJetton__receive_internal_simple_1857_74" -> "SampleJetton__receive_internal_simple_1857_75"; + "SampleJetton__receive_internal_simple_1857_75" -> "SampleJetton__receive_internal_simple_1857_76"; } - subgraph "cluster_SampleJetton__receive_internal_comment_1880_Mint: 100" { - label="SampleJetton__receive_internal_comment_1880_Mint: 100"; - "SampleJetton__receive_internal_comment_1880_Mint: 100_77" [label="let ctx: Context = context()"]; - "SampleJetton__receive_internal_comment_1880_Mint: 100_78" [label="require(self.mintable, \"Can't Mint Anymore\")"]; - "SampleJetton__receive_internal_comment_1880_Mint: 100_79" [label="self.mint(ctx.sender, 100, self.owner)",style=filled,fillcolor="#66A7DB"]; - "SampleJetton__receive_internal_comment_1880_Mint: 100_77" -> "SampleJetton__receive_internal_comment_1880_Mint: 100_78"; - "SampleJetton__receive_internal_comment_1880_Mint: 100_78" -> "SampleJetton__receive_internal_comment_1880_Mint: 100_79"; + subgraph "cluster_SampleJetton__receive_internal_comment_1882_Mint: 100" { + label="SampleJetton__receive_internal_comment_1882_Mint: 100"; + "SampleJetton__receive_internal_comment_1882_Mint: 100_77" [label="let ctx: Context = context()"]; + "SampleJetton__receive_internal_comment_1882_Mint: 100_78" [label="require(self.mintable, \"Can't Mint Anymore\")"]; + "SampleJetton__receive_internal_comment_1882_Mint: 100_79" [label="self.mint(ctx.sender, 100, self.owner)",style=filled,fillcolor="#66A7DB"]; + "SampleJetton__receive_internal_comment_1882_Mint: 100_77" -> "SampleJetton__receive_internal_comment_1882_Mint: 100_78"; + "SampleJetton__receive_internal_comment_1882_Mint: 100_78" -> "SampleJetton__receive_internal_comment_1882_Mint: 100_79"; } - subgraph "cluster_SampleJetton__receive_internal_comment_1903_Owner: MintClose" { - label="SampleJetton__receive_internal_comment_1903_Owner: MintClose"; - "SampleJetton__receive_internal_comment_1903_Owner: MintClose_80" [label="let ctx: Context = context()"]; - "SampleJetton__receive_internal_comment_1903_Owner: MintClose_81" [label="require(ctx.sender == self.owner, \"Not Owner\")"]; - "SampleJetton__receive_internal_comment_1903_Owner: MintClose_82" [label="self.mintable = false",style=filled,fillcolor="#66A7DB"]; - "SampleJetton__receive_internal_comment_1903_Owner: MintClose_80" -> "SampleJetton__receive_internal_comment_1903_Owner: MintClose_81"; - "SampleJetton__receive_internal_comment_1903_Owner: MintClose_81" -> "SampleJetton__receive_internal_comment_1903_Owner: MintClose_82"; + subgraph "cluster_SampleJetton__receive_internal_comment_1905_Owner: MintClose" { + label="SampleJetton__receive_internal_comment_1905_Owner: MintClose"; + "SampleJetton__receive_internal_comment_1905_Owner: MintClose_80" [label="let ctx: Context = context()"]; + "SampleJetton__receive_internal_comment_1905_Owner: MintClose_81" [label="require(ctx.sender == self.owner, \"Not Owner\")"]; + "SampleJetton__receive_internal_comment_1905_Owner: MintClose_82" [label="self.mintable = false",style=filled,fillcolor="#66A7DB"]; + "SampleJetton__receive_internal_comment_1905_Owner: MintClose_80" -> "SampleJetton__receive_internal_comment_1905_Owner: MintClose_81"; + "SampleJetton__receive_internal_comment_1905_Owner: MintClose_81" -> "SampleJetton__receive_internal_comment_1905_Owner: MintClose_82"; } - subgraph "cluster_JettonDefaultWallet__init_2908" { - label="JettonDefaultWallet__init_2908"; - "JettonDefaultWallet__init_2908_83" [label="self.balance = 0"]; - "JettonDefaultWallet__init_2908_84" [label="self.owner = owner"]; - "JettonDefaultWallet__init_2908_85" [label="self.master = master",style=filled,fillcolor="#66A7DB"]; - "JettonDefaultWallet__init_2908_83" -> "JettonDefaultWallet__init_2908_84"; - "JettonDefaultWallet__init_2908_84" -> "JettonDefaultWallet__init_2908_85"; + subgraph "cluster_JettonDefaultWallet__init_2910" { + label="JettonDefaultWallet__init_2910"; + "JettonDefaultWallet__init_2910_83" [label="self.balance = 0"]; + "JettonDefaultWallet__init_2910_84" [label="self.owner = owner"]; + "JettonDefaultWallet__init_2910_85" [label="self.master = master",style=filled,fillcolor="#66A7DB"]; + "JettonDefaultWallet__init_2910_83" -> "JettonDefaultWallet__init_2910_84"; + "JettonDefaultWallet__init_2910_84" -> "JettonDefaultWallet__init_2910_85"; } - subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2515" { - label="JettonDefaultWallet__receive_internal_simple_2515"; - "JettonDefaultWallet__receive_internal_simple_2515_86" [label="let ctx: Context = context()"]; - "JettonDefaultWallet__receive_internal_simple_2515_87" [label="require(ctx.sender == self.owner, \"Invalid sender\")"]; - "JettonDefaultWallet__receive_internal_simple_2515_88" [label="let fwdFee: Int = ctx.readForwardFee() + ctx.readForwardFee()"]; - "JettonDefaultWallet__receive_internal_simple_2515_89" [label="let final: Int = 2 * self.gasConsumption + self.minTonsForStorage + fwdFee"]; - "JettonDefaultWallet__receive_internal_simple_2515_90" [label="require(ctx.value > min(final, ton(\"0.01\")), \"Invalid value!!\")"]; - "JettonDefaultWallet__receive_internal_simple_2515_91" [label="self.balance = self.balance - msg.amount"]; - "JettonDefaultWallet__receive_internal_simple_2515_92" [label="require(self.balance >= 0, \"Invalid balance\")"]; - "JettonDefaultWallet__receive_internal_simple_2515_93" [label="let init: StateInit = initOf JettonDefaultWallet(self.master, msg.destination)"]; - "JettonDefaultWallet__receive_internal_simple_2515_94" [label="let walletAddress: Address = contractAddress(init)"]; - "JettonDefaultWallet__receive_internal_simple_2515_95" [label="send(SendParameters{to: walletAddress, value: 0, mode: SendRemainingValue, bounce: false, body: TokenTransferInternal{queryId: msg.queryId, amount: msg.amount, from: self.owner, response_destination: msg.response_destination, forward_ton_amount: msg.forward_ton_amount, forward_payload: msg.forward_payload}.toCell(), code: init.code, data: init.data})",style=filled,fillcolor="#66A7DB"]; - "JettonDefaultWallet__receive_internal_simple_2515_86" -> "JettonDefaultWallet__receive_internal_simple_2515_87"; - "JettonDefaultWallet__receive_internal_simple_2515_87" -> "JettonDefaultWallet__receive_internal_simple_2515_88"; - "JettonDefaultWallet__receive_internal_simple_2515_88" -> "JettonDefaultWallet__receive_internal_simple_2515_89"; - "JettonDefaultWallet__receive_internal_simple_2515_89" -> "JettonDefaultWallet__receive_internal_simple_2515_90"; - "JettonDefaultWallet__receive_internal_simple_2515_90" -> "JettonDefaultWallet__receive_internal_simple_2515_91"; - "JettonDefaultWallet__receive_internal_simple_2515_91" -> "JettonDefaultWallet__receive_internal_simple_2515_92"; - "JettonDefaultWallet__receive_internal_simple_2515_92" -> "JettonDefaultWallet__receive_internal_simple_2515_93"; - "JettonDefaultWallet__receive_internal_simple_2515_93" -> "JettonDefaultWallet__receive_internal_simple_2515_94"; - "JettonDefaultWallet__receive_internal_simple_2515_94" -> "JettonDefaultWallet__receive_internal_simple_2515_95"; + subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2517" { + label="JettonDefaultWallet__receive_internal_simple_2517"; + "JettonDefaultWallet__receive_internal_simple_2517_86" [label="let ctx: Context = context()"]; + "JettonDefaultWallet__receive_internal_simple_2517_87" [label="require(ctx.sender == self.owner, \"Invalid sender\")"]; + "JettonDefaultWallet__receive_internal_simple_2517_88" [label="let fwdFee: Int = ctx.readForwardFee() + ctx.readForwardFee()"]; + "JettonDefaultWallet__receive_internal_simple_2517_89" [label="let final: Int = 2 * self.gasConsumption + self.minTonsForStorage + fwdFee"]; + "JettonDefaultWallet__receive_internal_simple_2517_90" [label="require(ctx.value > min(final, ton(\"0.01\")), \"Invalid value!!\")"]; + "JettonDefaultWallet__receive_internal_simple_2517_91" [label="self.balance = self.balance - msg.amount"]; + "JettonDefaultWallet__receive_internal_simple_2517_92" [label="require(self.balance >= 0, \"Invalid balance\")"]; + "JettonDefaultWallet__receive_internal_simple_2517_93" [label="let init: StateInit = initOf JettonDefaultWallet(self.master, msg.destination)"]; + "JettonDefaultWallet__receive_internal_simple_2517_94" [label="let walletAddress: Address = contractAddress(init)"]; + "JettonDefaultWallet__receive_internal_simple_2517_95" [label="send(SendParameters{to: walletAddress, value: 0, mode: SendRemainingValue, bounce: false, body: TokenTransferInternal{queryId: msg.queryId, amount: msg.amount, from: self.owner, response_destination: msg.response_destination, forward_ton_amount: msg.forward_ton_amount, forward_payload: msg.forward_payload}.toCell(), code: init.code, data: init.data})",style=filled,fillcolor="#66A7DB"]; + "JettonDefaultWallet__receive_internal_simple_2517_86" -> "JettonDefaultWallet__receive_internal_simple_2517_87"; + "JettonDefaultWallet__receive_internal_simple_2517_87" -> "JettonDefaultWallet__receive_internal_simple_2517_88"; + "JettonDefaultWallet__receive_internal_simple_2517_88" -> "JettonDefaultWallet__receive_internal_simple_2517_89"; + "JettonDefaultWallet__receive_internal_simple_2517_89" -> "JettonDefaultWallet__receive_internal_simple_2517_90"; + "JettonDefaultWallet__receive_internal_simple_2517_90" -> "JettonDefaultWallet__receive_internal_simple_2517_91"; + "JettonDefaultWallet__receive_internal_simple_2517_91" -> "JettonDefaultWallet__receive_internal_simple_2517_92"; + "JettonDefaultWallet__receive_internal_simple_2517_92" -> "JettonDefaultWallet__receive_internal_simple_2517_93"; + "JettonDefaultWallet__receive_internal_simple_2517_93" -> "JettonDefaultWallet__receive_internal_simple_2517_94"; + "JettonDefaultWallet__receive_internal_simple_2517_94" -> "JettonDefaultWallet__receive_internal_simple_2517_95"; } - subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2685" { - label="JettonDefaultWallet__receive_internal_simple_2685"; - "JettonDefaultWallet__receive_internal_simple_2685_96" [label="let ctx: Context = context()"]; - "JettonDefaultWallet__receive_internal_simple_2685_97" [label="if (ctx.sender != self.master)"]; - "JettonDefaultWallet__receive_internal_simple_2685_98" [label="let sInit: StateInit = initOf JettonDefaultWallet(self.master, msg.from)"]; - "JettonDefaultWallet__receive_internal_simple_2685_99" [label="require(contractAddress(sInit) == ctx.sender, \"Invalid sender!\")"]; - "JettonDefaultWallet__receive_internal_simple_2685_100" [label="self.balance = self.balance + msg.amount"]; - "JettonDefaultWallet__receive_internal_simple_2685_101" [label="require(self.balance >= 0, \"Invalid balance\")"]; - "JettonDefaultWallet__receive_internal_simple_2685_102" [label="if (msg.forward_ton_amount > 0)"]; - "JettonDefaultWallet__receive_internal_simple_2685_103" [label="send(SendParameters{to: self.owner, value: msg.forward_ton_amount, bounce: false, body: TokenNotification{queryId: msg.queryId, amount: msg.amount, from: msg.from, forward_payload: msg.forward_payload}.toCell()})"]; - "JettonDefaultWallet__receive_internal_simple_2685_104" [label="let msgValue: Int = self.msgValue(ctx.value)"]; - "JettonDefaultWallet__receive_internal_simple_2685_105" [label="let fwdFee: Int = ctx.readForwardFee()"]; - "JettonDefaultWallet__receive_internal_simple_2685_106" [label="msgValue = msgValue - msg.forward_ton_amount - fwdFee"]; - "JettonDefaultWallet__receive_internal_simple_2685_107" [label="if (msg.response_destination != null)"]; - "JettonDefaultWallet__receive_internal_simple_2685_108" [label="send(SendParameters{to: !!msg.response_destination, value: msgValue, bounce: false, body: TokenExcesses{queryId: msg.queryId}.toCell(), mode: SendIgnoreErrors})",style=filled,fillcolor="#66A7DB"]; - "JettonDefaultWallet__receive_internal_simple_2685_96" -> "JettonDefaultWallet__receive_internal_simple_2685_97"; - "JettonDefaultWallet__receive_internal_simple_2685_97" -> "JettonDefaultWallet__receive_internal_simple_2685_98"; - "JettonDefaultWallet__receive_internal_simple_2685_98" -> "JettonDefaultWallet__receive_internal_simple_2685_99"; - "JettonDefaultWallet__receive_internal_simple_2685_99" -> "JettonDefaultWallet__receive_internal_simple_2685_100"; - "JettonDefaultWallet__receive_internal_simple_2685_100" -> "JettonDefaultWallet__receive_internal_simple_2685_101"; - "JettonDefaultWallet__receive_internal_simple_2685_101" -> "JettonDefaultWallet__receive_internal_simple_2685_102"; - "JettonDefaultWallet__receive_internal_simple_2685_102" -> "JettonDefaultWallet__receive_internal_simple_2685_103"; - "JettonDefaultWallet__receive_internal_simple_2685_103" -> "JettonDefaultWallet__receive_internal_simple_2685_104"; - "JettonDefaultWallet__receive_internal_simple_2685_104" -> "JettonDefaultWallet__receive_internal_simple_2685_105"; - "JettonDefaultWallet__receive_internal_simple_2685_105" -> "JettonDefaultWallet__receive_internal_simple_2685_106"; - "JettonDefaultWallet__receive_internal_simple_2685_106" -> "JettonDefaultWallet__receive_internal_simple_2685_107"; - "JettonDefaultWallet__receive_internal_simple_2685_107" -> "JettonDefaultWallet__receive_internal_simple_2685_108"; + subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2687" { + label="JettonDefaultWallet__receive_internal_simple_2687"; + "JettonDefaultWallet__receive_internal_simple_2687_96" [label="let ctx: Context = context()"]; + "JettonDefaultWallet__receive_internal_simple_2687_97" [label="if (ctx.sender != self.master)"]; + "JettonDefaultWallet__receive_internal_simple_2687_98" [label="let sInit: StateInit = initOf JettonDefaultWallet(self.master, msg.from)"]; + "JettonDefaultWallet__receive_internal_simple_2687_99" [label="require(contractAddress(sInit) == ctx.sender, \"Invalid sender!\")"]; + "JettonDefaultWallet__receive_internal_simple_2687_100" [label="self.balance = self.balance + msg.amount"]; + "JettonDefaultWallet__receive_internal_simple_2687_101" [label="require(self.balance >= 0, \"Invalid balance\")"]; + "JettonDefaultWallet__receive_internal_simple_2687_102" [label="if (msg.forward_ton_amount > 0)"]; + "JettonDefaultWallet__receive_internal_simple_2687_103" [label="send(SendParameters{to: self.owner, value: msg.forward_ton_amount, bounce: false, body: TokenNotification{queryId: msg.queryId, amount: msg.amount, from: msg.from, forward_payload: msg.forward_payload}.toCell()})"]; + "JettonDefaultWallet__receive_internal_simple_2687_104" [label="let msgValue: Int = self.msgValue(ctx.value)"]; + "JettonDefaultWallet__receive_internal_simple_2687_105" [label="let fwdFee: Int = ctx.readForwardFee()"]; + "JettonDefaultWallet__receive_internal_simple_2687_106" [label="msgValue = msgValue - msg.forward_ton_amount - fwdFee"]; + "JettonDefaultWallet__receive_internal_simple_2687_107" [label="if (msg.response_destination != null)"]; + "JettonDefaultWallet__receive_internal_simple_2687_108" [label="send(SendParameters{to: !!msg.response_destination, value: msgValue, bounce: false, body: TokenExcesses{queryId: msg.queryId}.toCell(), mode: SendIgnoreErrors})",style=filled,fillcolor="#66A7DB"]; + "JettonDefaultWallet__receive_internal_simple_2687_96" -> "JettonDefaultWallet__receive_internal_simple_2687_97"; + "JettonDefaultWallet__receive_internal_simple_2687_97" -> "JettonDefaultWallet__receive_internal_simple_2687_98"; + "JettonDefaultWallet__receive_internal_simple_2687_98" -> "JettonDefaultWallet__receive_internal_simple_2687_99"; + "JettonDefaultWallet__receive_internal_simple_2687_99" -> "JettonDefaultWallet__receive_internal_simple_2687_100"; + "JettonDefaultWallet__receive_internal_simple_2687_100" -> "JettonDefaultWallet__receive_internal_simple_2687_101"; + "JettonDefaultWallet__receive_internal_simple_2687_101" -> "JettonDefaultWallet__receive_internal_simple_2687_102"; + "JettonDefaultWallet__receive_internal_simple_2687_102" -> "JettonDefaultWallet__receive_internal_simple_2687_103"; + "JettonDefaultWallet__receive_internal_simple_2687_103" -> "JettonDefaultWallet__receive_internal_simple_2687_104"; + "JettonDefaultWallet__receive_internal_simple_2687_104" -> "JettonDefaultWallet__receive_internal_simple_2687_105"; + "JettonDefaultWallet__receive_internal_simple_2687_105" -> "JettonDefaultWallet__receive_internal_simple_2687_106"; + "JettonDefaultWallet__receive_internal_simple_2687_106" -> "JettonDefaultWallet__receive_internal_simple_2687_107"; + "JettonDefaultWallet__receive_internal_simple_2687_107" -> "JettonDefaultWallet__receive_internal_simple_2687_108"; } subgraph "cluster_JettonDefaultWallet__msgValue" { label="JettonDefaultWallet__msgValue"; @@ -106,33 +106,33 @@ digraph "sample-jetton" { "JettonDefaultWallet__msgValue_110" -> "JettonDefaultWallet__msgValue_111"; "JettonDefaultWallet__msgValue_111" -> "JettonDefaultWallet__msgValue_112"; } - subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2830" { - label="JettonDefaultWallet__receive_internal_simple_2830"; - "JettonDefaultWallet__receive_internal_simple_2830_113" [label="let ctx: Context = context()"]; - "JettonDefaultWallet__receive_internal_simple_2830_114" [label="require(ctx.sender == self.owner, \"Invalid sender\")"]; - "JettonDefaultWallet__receive_internal_simple_2830_115" [label="self.balance = self.balance - msg.amount"]; - "JettonDefaultWallet__receive_internal_simple_2830_116" [label="require(self.balance >= 0, \"Invalid balance\")"]; - "JettonDefaultWallet__receive_internal_simple_2830_117" [label="let fwdFee: Int = ctx.readForwardFee()"]; - "JettonDefaultWallet__receive_internal_simple_2830_118" [label="require(ctx.value > fwdFee + 2 * self.gasConsumption + self.minTonsForStorage, \"Invalid value - Burn\")"]; - "JettonDefaultWallet__receive_internal_simple_2830_119" [label="send(SendParameters{to: self.master, value: 0, mode: SendRemainingValue, bounce: true, body: TokenBurnNotification{queryId: msg.queryId, amount: msg.amount, owner: self.owner, response_destination: self.owner}.toCell()})",style=filled,fillcolor="#66A7DB"]; - "JettonDefaultWallet__receive_internal_simple_2830_113" -> "JettonDefaultWallet__receive_internal_simple_2830_114"; - "JettonDefaultWallet__receive_internal_simple_2830_114" -> "JettonDefaultWallet__receive_internal_simple_2830_115"; - "JettonDefaultWallet__receive_internal_simple_2830_115" -> "JettonDefaultWallet__receive_internal_simple_2830_116"; - "JettonDefaultWallet__receive_internal_simple_2830_116" -> "JettonDefaultWallet__receive_internal_simple_2830_117"; - "JettonDefaultWallet__receive_internal_simple_2830_117" -> "JettonDefaultWallet__receive_internal_simple_2830_118"; - "JettonDefaultWallet__receive_internal_simple_2830_118" -> "JettonDefaultWallet__receive_internal_simple_2830_119"; + subgraph "cluster_JettonDefaultWallet__receive_internal_simple_2832" { + label="JettonDefaultWallet__receive_internal_simple_2832"; + "JettonDefaultWallet__receive_internal_simple_2832_113" [label="let ctx: Context = context()"]; + "JettonDefaultWallet__receive_internal_simple_2832_114" [label="require(ctx.sender == self.owner, \"Invalid sender\")"]; + "JettonDefaultWallet__receive_internal_simple_2832_115" [label="self.balance = self.balance - msg.amount"]; + "JettonDefaultWallet__receive_internal_simple_2832_116" [label="require(self.balance >= 0, \"Invalid balance\")"]; + "JettonDefaultWallet__receive_internal_simple_2832_117" [label="let fwdFee: Int = ctx.readForwardFee()"]; + "JettonDefaultWallet__receive_internal_simple_2832_118" [label="require(ctx.value > fwdFee + 2 * self.gasConsumption + self.minTonsForStorage, \"Invalid value - Burn\")"]; + "JettonDefaultWallet__receive_internal_simple_2832_119" [label="send(SendParameters{to: self.master, value: 0, mode: SendRemainingValue, bounce: true, body: TokenBurnNotification{queryId: msg.queryId, amount: msg.amount, owner: self.owner, response_destination: self.owner}.toCell()})",style=filled,fillcolor="#66A7DB"]; + "JettonDefaultWallet__receive_internal_simple_2832_113" -> "JettonDefaultWallet__receive_internal_simple_2832_114"; + "JettonDefaultWallet__receive_internal_simple_2832_114" -> "JettonDefaultWallet__receive_internal_simple_2832_115"; + "JettonDefaultWallet__receive_internal_simple_2832_115" -> "JettonDefaultWallet__receive_internal_simple_2832_116"; + "JettonDefaultWallet__receive_internal_simple_2832_116" -> "JettonDefaultWallet__receive_internal_simple_2832_117"; + "JettonDefaultWallet__receive_internal_simple_2832_117" -> "JettonDefaultWallet__receive_internal_simple_2832_118"; + "JettonDefaultWallet__receive_internal_simple_2832_118" -> "JettonDefaultWallet__receive_internal_simple_2832_119"; } - subgraph "cluster_JettonDefaultWallet__receive_bounce_2874" { - label="JettonDefaultWallet__receive_bounce_2874"; - "JettonDefaultWallet__receive_bounce_2874_120" [label="let op: Int = msg.loadUint(32)"]; - "JettonDefaultWallet__receive_bounce_2874_121" [label="let queryId: Int = msg.loadUint(64)"]; - "JettonDefaultWallet__receive_bounce_2874_122" [label="let jettonAmount: Int = msg.loadCoins()"]; - "JettonDefaultWallet__receive_bounce_2874_123" [label="require(op == 0x178d4519 || op == 0x7bdd97de, \"Invalid bounced message\")"]; - "JettonDefaultWallet__receive_bounce_2874_124" [label="self.balance = self.balance + jettonAmount",style=filled,fillcolor="#66A7DB"]; - "JettonDefaultWallet__receive_bounce_2874_120" -> "JettonDefaultWallet__receive_bounce_2874_121"; - "JettonDefaultWallet__receive_bounce_2874_121" -> "JettonDefaultWallet__receive_bounce_2874_122"; - "JettonDefaultWallet__receive_bounce_2874_122" -> "JettonDefaultWallet__receive_bounce_2874_123"; - "JettonDefaultWallet__receive_bounce_2874_123" -> "JettonDefaultWallet__receive_bounce_2874_124"; + subgraph "cluster_JettonDefaultWallet__receive_bounce_2876" { + label="JettonDefaultWallet__receive_bounce_2876"; + "JettonDefaultWallet__receive_bounce_2876_120" [label="let op: Int = msg.loadUint(32)"]; + "JettonDefaultWallet__receive_bounce_2876_121" [label="let queryId: Int = msg.loadUint(64)"]; + "JettonDefaultWallet__receive_bounce_2876_122" [label="let jettonAmount: Int = msg.loadCoins()"]; + "JettonDefaultWallet__receive_bounce_2876_123" [label="require(op == 0x178d4519 || op == 0x7bdd97de, \"Invalid bounced message\")"]; + "JettonDefaultWallet__receive_bounce_2876_124" [label="self.balance = self.balance + jettonAmount",style=filled,fillcolor="#66A7DB"]; + "JettonDefaultWallet__receive_bounce_2876_120" -> "JettonDefaultWallet__receive_bounce_2876_121"; + "JettonDefaultWallet__receive_bounce_2876_121" -> "JettonDefaultWallet__receive_bounce_2876_122"; + "JettonDefaultWallet__receive_bounce_2876_122" -> "JettonDefaultWallet__receive_bounce_2876_123"; + "JettonDefaultWallet__receive_bounce_2876_123" -> "JettonDefaultWallet__receive_bounce_2876_124"; } subgraph "cluster_JettonDefaultWallet__get_wallet_data" { label="JettonDefaultWallet__get_wallet_data"; diff --git a/test/all/sample-jetton.expected.cfg.json b/test/all/sample-jetton.expected.cfg.json index 3e1ac753..282466e8 100644 --- a/test/all/sample-jetton.expected.cfg.json +++ b/test/all/sample-jetton.expected.cfg.json @@ -6,12 +6,12 @@ "name": "SampleJetton", "methods": [ { - "name": "SampleJetton.init_1905", + "name": "SampleJetton.init_1907", "cfg": { "nodes": [ { "id": 68, - "stmtID": 1794, + "stmtID": 1796, "srcEdges": [], "dstEdges": [ 57 @@ -19,7 +19,7 @@ }, { "id": 69, - "stmtID": 1799, + "stmtID": 1801, "srcEdges": [ 57 ], @@ -29,7 +29,7 @@ }, { "id": 70, - "stmtID": 1804, + "stmtID": 1806, "srcEdges": [ 58 ], @@ -39,7 +39,7 @@ }, { "id": 71, - "stmtID": 1809, + "stmtID": 1811, "srcEdges": [ 59 ], @@ -49,7 +49,7 @@ }, { "id": 72, - "stmtID": 1814, + "stmtID": 1816, "srcEdges": [ 60 ], @@ -81,12 +81,12 @@ } }, { - "name": "SampleJetton.receive_internal_simple_1855", + "name": "SampleJetton.receive_internal_simple_1857", "cfg": { "nodes": [ { "id": 73, - "stmtID": 1823, + "stmtID": 1825, "srcEdges": [], "dstEdges": [ 61 @@ -94,7 +94,7 @@ }, { "id": 74, - "stmtID": 1834, + "stmtID": 1836, "srcEdges": [ 61 ], @@ -104,7 +104,7 @@ }, { "id": 75, - "stmtID": 1841, + "stmtID": 1843, "srcEdges": [ 62 ], @@ -114,7 +114,7 @@ }, { "id": 76, - "stmtID": 1854, + "stmtID": 1856, "srcEdges": [ 63 ], @@ -141,12 +141,12 @@ } }, { - "name": "SampleJetton.receive_internal_comment_1880_Mint: 100", + "name": "SampleJetton.receive_internal_comment_1882_Mint: 100", "cfg": { "nodes": [ { "id": 77, - "stmtID": 1861, + "stmtID": 1863, "srcEdges": [], "dstEdges": [ 64 @@ -154,7 +154,7 @@ }, { "id": 78, - "stmtID": 1868, + "stmtID": 1870, "srcEdges": [ 64 ], @@ -164,7 +164,7 @@ }, { "id": 79, - "stmtID": 1879, + "stmtID": 1881, "srcEdges": [ 65 ], @@ -186,12 +186,12 @@ } }, { - "name": "SampleJetton.receive_internal_comment_1903_Owner: MintClose", + "name": "SampleJetton.receive_internal_comment_1905_Owner: MintClose", "cfg": { "nodes": [ { "id": 80, - "stmtID": 1886, + "stmtID": 1888, "srcEdges": [], "dstEdges": [ 66 @@ -199,7 +199,7 @@ }, { "id": 81, - "stmtID": 1897, + "stmtID": 1899, "srcEdges": [ 66 ], @@ -209,7 +209,7 @@ }, { "id": 82, - "stmtID": 1902, + "stmtID": 1904, "srcEdges": [ 67 ], @@ -236,12 +236,12 @@ "name": "JettonDefaultWallet", "methods": [ { - "name": "JettonDefaultWallet.init_2908", + "name": "JettonDefaultWallet.init_2910", "cfg": { "nodes": [ { "id": 83, - "stmtID": 2346, + "stmtID": 2348, "srcEdges": [], "dstEdges": [ 68 @@ -249,7 +249,7 @@ }, { "id": 84, - "stmtID": 2351, + "stmtID": 2353, "srcEdges": [ 68 ], @@ -259,7 +259,7 @@ }, { "id": 85, - "stmtID": 2356, + "stmtID": 2358, "srcEdges": [ 69 ], @@ -281,12 +281,12 @@ } }, { - "name": "JettonDefaultWallet.receive_internal_simple_2515", + "name": "JettonDefaultWallet.receive_internal_simple_2517", "cfg": { "nodes": [ { "id": 86, - "stmtID": 2365, + "stmtID": 2367, "srcEdges": [], "dstEdges": [ 70 @@ -294,7 +294,7 @@ }, { "id": 87, - "stmtID": 2376, + "stmtID": 2378, "srcEdges": [ 70 ], @@ -304,7 +304,7 @@ }, { "id": 88, - "stmtID": 2386, + "stmtID": 2388, "srcEdges": [ 71 ], @@ -314,7 +314,7 @@ }, { "id": 89, - "stmtID": 2400, + "stmtID": 2402, "srcEdges": [ 72 ], @@ -324,7 +324,7 @@ }, { "id": 90, - "stmtID": 2414, + "stmtID": 2416, "srcEdges": [ 73 ], @@ -334,7 +334,7 @@ }, { "id": 91, - "stmtID": 2425, + "stmtID": 2427, "srcEdges": [ 74 ], @@ -344,7 +344,7 @@ }, { "id": 92, - "stmtID": 2434, + "stmtID": 2436, "srcEdges": [ 75 ], @@ -354,7 +354,7 @@ }, { "id": 93, - "stmtID": 2445, + "stmtID": 2447, "srcEdges": [ 76 ], @@ -364,7 +364,7 @@ }, { "id": 94, - "stmtID": 2451, + "stmtID": 2453, "srcEdges": [ 77 ], @@ -374,7 +374,7 @@ }, { "id": 95, - "stmtID": 2514, + "stmtID": 2516, "srcEdges": [ 78 ], @@ -431,12 +431,12 @@ } }, { - "name": "JettonDefaultWallet.receive_internal_simple_2685", + "name": "JettonDefaultWallet.receive_internal_simple_2687", "cfg": { "nodes": [ { "id": 96, - "stmtID": 2523, + "stmtID": 2525, "srcEdges": [], "dstEdges": [ 79 @@ -444,7 +444,7 @@ }, { "id": 97, - "stmtID": 2553, + "stmtID": 2555, "srcEdges": [ 79 ], @@ -454,7 +454,7 @@ }, { "id": 98, - "stmtID": 2541, + "stmtID": 2543, "srcEdges": [ 80 ], @@ -464,7 +464,7 @@ }, { "id": 99, - "stmtID": 2552, + "stmtID": 2554, "srcEdges": [ 81 ], @@ -474,7 +474,7 @@ }, { "id": 100, - "stmtID": 2564, + "stmtID": 2566, "srcEdges": [ 82 ], @@ -484,7 +484,7 @@ }, { "id": 101, - "stmtID": 2573, + "stmtID": 2575, "srcEdges": [ 83 ], @@ -494,7 +494,7 @@ }, { "id": 102, - "stmtID": 2623, + "stmtID": 2625, "srcEdges": [ 84 ], @@ -504,7 +504,7 @@ }, { "id": 103, - "stmtID": 2622, + "stmtID": 2624, "srcEdges": [ 85 ], @@ -514,7 +514,7 @@ }, { "id": 104, - "stmtID": 2632, + "stmtID": 2634, "srcEdges": [ 86 ], @@ -524,7 +524,7 @@ }, { "id": 105, - "stmtID": 2638, + "stmtID": 2640, "srcEdges": [ 87 ], @@ -534,7 +534,7 @@ }, { "id": 106, - "stmtID": 2647, + "stmtID": 2649, "srcEdges": [ 88 ], @@ -544,7 +544,7 @@ }, { "id": 107, - "stmtID": 2684, + "stmtID": 2686, "srcEdges": [ 89 ], @@ -554,7 +554,7 @@ }, { "id": 108, - "stmtID": 2683, + "stmtID": 2685, "srcEdges": [ 90 ], @@ -631,7 +631,7 @@ "nodes": [ { "id": 109, - "stmtID": 2697, + "stmtID": 2699, "srcEdges": [], "dstEdges": [ 91 @@ -639,7 +639,7 @@ }, { "id": 110, - "stmtID": 2710, + "stmtID": 2712, "srcEdges": [ 91 ], @@ -649,7 +649,7 @@ }, { "id": 111, - "stmtID": 2717, + "stmtID": 2719, "srcEdges": [ 92 ], @@ -659,7 +659,7 @@ }, { "id": 112, - "stmtID": 2719, + "stmtID": 2721, "srcEdges": [ 93 ], @@ -686,12 +686,12 @@ } }, { - "name": "JettonDefaultWallet.receive_internal_simple_2830", + "name": "JettonDefaultWallet.receive_internal_simple_2832", "cfg": { "nodes": [ { "id": 113, - "stmtID": 2728, + "stmtID": 2730, "srcEdges": [], "dstEdges": [ 94 @@ -699,7 +699,7 @@ }, { "id": 114, - "stmtID": 2739, + "stmtID": 2741, "srcEdges": [ 94 ], @@ -709,7 +709,7 @@ }, { "id": 115, - "stmtID": 2750, + "stmtID": 2752, "srcEdges": [ 95 ], @@ -719,7 +719,7 @@ }, { "id": 116, - "stmtID": 2759, + "stmtID": 2761, "srcEdges": [ 96 ], @@ -729,7 +729,7 @@ }, { "id": 117, - "stmtID": 2765, + "stmtID": 2767, "srcEdges": [ 97 ], @@ -739,7 +739,7 @@ }, { "id": 118, - "stmtID": 2784, + "stmtID": 2786, "srcEdges": [ 98 ], @@ -749,7 +749,7 @@ }, { "id": 119, - "stmtID": 2829, + "stmtID": 2831, "srcEdges": [ 99 ], @@ -791,12 +791,12 @@ } }, { - "name": "JettonDefaultWallet.receive_bounce_2874", + "name": "JettonDefaultWallet.receive_bounce_2876", "cfg": { "nodes": [ { "id": 120, - "stmtID": 2840, + "stmtID": 2842, "srcEdges": [], "dstEdges": [ 100 @@ -804,7 +804,7 @@ }, { "id": 121, - "stmtID": 2847, + "stmtID": 2849, "srcEdges": [ 100 ], @@ -814,7 +814,7 @@ }, { "id": 122, - "stmtID": 2853, + "stmtID": 2855, "srcEdges": [ 101 ], @@ -824,7 +824,7 @@ }, { "id": 123, - "stmtID": 2864, + "stmtID": 2866, "srcEdges": [ 102 ], @@ -834,7 +834,7 @@ }, { "id": 124, - "stmtID": 2873, + "stmtID": 2875, "srcEdges": [ 103 ], @@ -871,7 +871,7 @@ "nodes": [ { "id": 125, - "stmtID": 2906, + "stmtID": 2908, "srcEdges": [], "dstEdges": [] } diff --git a/test/all/sample-jetton.expected.cfg.mmd b/test/all/sample-jetton.expected.cfg.mmd index b2cbd227..15a6eeab 100644 --- a/test/all/sample-jetton.expected.cfg.mmd +++ b/test/all/sample-jetton.expected.cfg.mmd @@ -1,92 +1,92 @@ graph TD -subgraph SampleJetton__init_1905 - SampleJetton__init_1905_68["self.totalSupply = 0"] - SampleJetton__init_1905_69["self.max_supply = max_supply"] - SampleJetton__init_1905_70["self.owner = owner"] - SampleJetton__init_1905_71["self.mintable = true"] - SampleJetton__init_1905_72["self.content = content"]:::exitNode - SampleJetton__init_1905_68 --> SampleJetton__init_1905_69 - SampleJetton__init_1905_69 --> SampleJetton__init_1905_70 - SampleJetton__init_1905_70 --> SampleJetton__init_1905_71 - SampleJetton__init_1905_71 --> SampleJetton__init_1905_72 +subgraph SampleJetton__init_1907 + SampleJetton__init_1907_68["self.totalSupply = 0"] + SampleJetton__init_1907_69["self.max_supply = max_supply"] + SampleJetton__init_1907_70["self.owner = owner"] + SampleJetton__init_1907_71["self.mintable = true"] + SampleJetton__init_1907_72["self.content = content"]:::exitNode + SampleJetton__init_1907_68 --> SampleJetton__init_1907_69 + SampleJetton__init_1907_69 --> SampleJetton__init_1907_70 + SampleJetton__init_1907_70 --> SampleJetton__init_1907_71 + SampleJetton__init_1907_71 --> SampleJetton__init_1907_72 end -subgraph SampleJetton__receive_internal_simple_1855 - SampleJetton__receive_internal_simple_1855_73["let ctx: Context = context()"] - SampleJetton__receive_internal_simple_1855_74["require(ctx.sender == self.owner, 'Not Owner')"] - SampleJetton__receive_internal_simple_1855_75["require(self.mintable, 'Can't Mint Anymore')"] - SampleJetton__receive_internal_simple_1855_76["self.mint(msg.receiver, msg.amount, self.owner)"]:::exitNode - SampleJetton__receive_internal_simple_1855_73 --> SampleJetton__receive_internal_simple_1855_74 - SampleJetton__receive_internal_simple_1855_74 --> SampleJetton__receive_internal_simple_1855_75 - SampleJetton__receive_internal_simple_1855_75 --> SampleJetton__receive_internal_simple_1855_76 +subgraph SampleJetton__receive_internal_simple_1857 + SampleJetton__receive_internal_simple_1857_73["let ctx: Context = context()"] + SampleJetton__receive_internal_simple_1857_74["require(ctx.sender == self.owner, 'Not Owner')"] + SampleJetton__receive_internal_simple_1857_75["require(self.mintable, 'Can't Mint Anymore')"] + SampleJetton__receive_internal_simple_1857_76["self.mint(msg.receiver, msg.amount, self.owner)"]:::exitNode + SampleJetton__receive_internal_simple_1857_73 --> SampleJetton__receive_internal_simple_1857_74 + SampleJetton__receive_internal_simple_1857_74 --> SampleJetton__receive_internal_simple_1857_75 + SampleJetton__receive_internal_simple_1857_75 --> SampleJetton__receive_internal_simple_1857_76 end -subgraph SampleJetton__receive_internal_comment_1880_Mint__100 - SampleJetton__receive_internal_comment_1880_Mint__100_77["let ctx: Context = context()"] - SampleJetton__receive_internal_comment_1880_Mint__100_78["require(self.mintable, 'Can't Mint Anymore')"] - SampleJetton__receive_internal_comment_1880_Mint__100_79["self.mint(ctx.sender, 100, self.owner)"]:::exitNode - SampleJetton__receive_internal_comment_1880_Mint__100_77 --> SampleJetton__receive_internal_comment_1880_Mint__100_78 - SampleJetton__receive_internal_comment_1880_Mint__100_78 --> SampleJetton__receive_internal_comment_1880_Mint__100_79 +subgraph SampleJetton__receive_internal_comment_1882_Mint__100 + SampleJetton__receive_internal_comment_1882_Mint__100_77["let ctx: Context = context()"] + SampleJetton__receive_internal_comment_1882_Mint__100_78["require(self.mintable, 'Can't Mint Anymore')"] + SampleJetton__receive_internal_comment_1882_Mint__100_79["self.mint(ctx.sender, 100, self.owner)"]:::exitNode + SampleJetton__receive_internal_comment_1882_Mint__100_77 --> SampleJetton__receive_internal_comment_1882_Mint__100_78 + SampleJetton__receive_internal_comment_1882_Mint__100_78 --> SampleJetton__receive_internal_comment_1882_Mint__100_79 end -subgraph SampleJetton__receive_internal_comment_1903_Owner__MintClose - SampleJetton__receive_internal_comment_1903_Owner__MintClose_80["let ctx: Context = context()"] - SampleJetton__receive_internal_comment_1903_Owner__MintClose_81["require(ctx.sender == self.owner, 'Not Owner')"] - SampleJetton__receive_internal_comment_1903_Owner__MintClose_82["self.mintable = false"]:::exitNode - SampleJetton__receive_internal_comment_1903_Owner__MintClose_80 --> SampleJetton__receive_internal_comment_1903_Owner__MintClose_81 - SampleJetton__receive_internal_comment_1903_Owner__MintClose_81 --> SampleJetton__receive_internal_comment_1903_Owner__MintClose_82 +subgraph SampleJetton__receive_internal_comment_1905_Owner__MintClose + SampleJetton__receive_internal_comment_1905_Owner__MintClose_80["let ctx: Context = context()"] + SampleJetton__receive_internal_comment_1905_Owner__MintClose_81["require(ctx.sender == self.owner, 'Not Owner')"] + SampleJetton__receive_internal_comment_1905_Owner__MintClose_82["self.mintable = false"]:::exitNode + SampleJetton__receive_internal_comment_1905_Owner__MintClose_80 --> SampleJetton__receive_internal_comment_1905_Owner__MintClose_81 + SampleJetton__receive_internal_comment_1905_Owner__MintClose_81 --> SampleJetton__receive_internal_comment_1905_Owner__MintClose_82 end -subgraph JettonDefaultWallet__init_2908 - JettonDefaultWallet__init_2908_83["self.balance = 0"] - JettonDefaultWallet__init_2908_84["self.owner = owner"] - JettonDefaultWallet__init_2908_85["self.master = master"]:::exitNode - JettonDefaultWallet__init_2908_83 --> JettonDefaultWallet__init_2908_84 - JettonDefaultWallet__init_2908_84 --> JettonDefaultWallet__init_2908_85 +subgraph JettonDefaultWallet__init_2910 + JettonDefaultWallet__init_2910_83["self.balance = 0"] + JettonDefaultWallet__init_2910_84["self.owner = owner"] + JettonDefaultWallet__init_2910_85["self.master = master"]:::exitNode + JettonDefaultWallet__init_2910_83 --> JettonDefaultWallet__init_2910_84 + JettonDefaultWallet__init_2910_84 --> JettonDefaultWallet__init_2910_85 end -subgraph JettonDefaultWallet__receive_internal_simple_2515 - JettonDefaultWallet__receive_internal_simple_2515_86["let ctx: Context = context()"] - JettonDefaultWallet__receive_internal_simple_2515_87["require(ctx.sender == self.owner, 'Invalid sender')"] - JettonDefaultWallet__receive_internal_simple_2515_88["let fwdFee: Int = ctx.readForwardFee() + ctx.readForwardFee()"] - JettonDefaultWallet__receive_internal_simple_2515_89["let final: Int = 2 * self.gasConsumption + self.minTonsForStorage + fwdFee"] - JettonDefaultWallet__receive_internal_simple_2515_90["require(ctx.value > min(final, ton('0.01')), 'Invalid value!!')"] - JettonDefaultWallet__receive_internal_simple_2515_91["self.balance = self.balance - msg.amount"] - JettonDefaultWallet__receive_internal_simple_2515_92["require(self.balance >= 0, 'Invalid balance')"] - JettonDefaultWallet__receive_internal_simple_2515_93["let init: StateInit = initOf JettonDefaultWallet(self.master, msg.destination)"] - JettonDefaultWallet__receive_internal_simple_2515_94["let walletAddress: Address = contractAddress(init)"] - JettonDefaultWallet__receive_internal_simple_2515_95["send(SendParameters{to: walletAddress, value: 0, mode: SendRemainingValue, bounce: false, body: TokenTransferInternal{queryId: msg.queryId, amount: msg.amount, from: self.owner, response_destination: msg.response_destination, forward_ton_amount: msg.forward_ton_amount, forward_payload: msg.forward_payload}.toCell(), code: init.code, data: init.data})"]:::exitNode - JettonDefaultWallet__receive_internal_simple_2515_86 --> JettonDefaultWallet__receive_internal_simple_2515_87 - JettonDefaultWallet__receive_internal_simple_2515_87 --> JettonDefaultWallet__receive_internal_simple_2515_88 - JettonDefaultWallet__receive_internal_simple_2515_88 --> JettonDefaultWallet__receive_internal_simple_2515_89 - JettonDefaultWallet__receive_internal_simple_2515_89 --> JettonDefaultWallet__receive_internal_simple_2515_90 - JettonDefaultWallet__receive_internal_simple_2515_90 --> JettonDefaultWallet__receive_internal_simple_2515_91 - JettonDefaultWallet__receive_internal_simple_2515_91 --> JettonDefaultWallet__receive_internal_simple_2515_92 - JettonDefaultWallet__receive_internal_simple_2515_92 --> JettonDefaultWallet__receive_internal_simple_2515_93 - JettonDefaultWallet__receive_internal_simple_2515_93 --> JettonDefaultWallet__receive_internal_simple_2515_94 - JettonDefaultWallet__receive_internal_simple_2515_94 --> JettonDefaultWallet__receive_internal_simple_2515_95 +subgraph JettonDefaultWallet__receive_internal_simple_2517 + JettonDefaultWallet__receive_internal_simple_2517_86["let ctx: Context = context()"] + JettonDefaultWallet__receive_internal_simple_2517_87["require(ctx.sender == self.owner, 'Invalid sender')"] + JettonDefaultWallet__receive_internal_simple_2517_88["let fwdFee: Int = ctx.readForwardFee() + ctx.readForwardFee()"] + JettonDefaultWallet__receive_internal_simple_2517_89["let final: Int = 2 * self.gasConsumption + self.minTonsForStorage + fwdFee"] + JettonDefaultWallet__receive_internal_simple_2517_90["require(ctx.value > min(final, ton('0.01')), 'Invalid value!!')"] + JettonDefaultWallet__receive_internal_simple_2517_91["self.balance = self.balance - msg.amount"] + JettonDefaultWallet__receive_internal_simple_2517_92["require(self.balance >= 0, 'Invalid balance')"] + JettonDefaultWallet__receive_internal_simple_2517_93["let init: StateInit = initOf JettonDefaultWallet(self.master, msg.destination)"] + JettonDefaultWallet__receive_internal_simple_2517_94["let walletAddress: Address = contractAddress(init)"] + JettonDefaultWallet__receive_internal_simple_2517_95["send(SendParameters{to: walletAddress, value: 0, mode: SendRemainingValue, bounce: false, body: TokenTransferInternal{queryId: msg.queryId, amount: msg.amount, from: self.owner, response_destination: msg.response_destination, forward_ton_amount: msg.forward_ton_amount, forward_payload: msg.forward_payload}.toCell(), code: init.code, data: init.data})"]:::exitNode + JettonDefaultWallet__receive_internal_simple_2517_86 --> JettonDefaultWallet__receive_internal_simple_2517_87 + JettonDefaultWallet__receive_internal_simple_2517_87 --> JettonDefaultWallet__receive_internal_simple_2517_88 + JettonDefaultWallet__receive_internal_simple_2517_88 --> JettonDefaultWallet__receive_internal_simple_2517_89 + JettonDefaultWallet__receive_internal_simple_2517_89 --> JettonDefaultWallet__receive_internal_simple_2517_90 + JettonDefaultWallet__receive_internal_simple_2517_90 --> JettonDefaultWallet__receive_internal_simple_2517_91 + JettonDefaultWallet__receive_internal_simple_2517_91 --> JettonDefaultWallet__receive_internal_simple_2517_92 + JettonDefaultWallet__receive_internal_simple_2517_92 --> JettonDefaultWallet__receive_internal_simple_2517_93 + JettonDefaultWallet__receive_internal_simple_2517_93 --> JettonDefaultWallet__receive_internal_simple_2517_94 + JettonDefaultWallet__receive_internal_simple_2517_94 --> JettonDefaultWallet__receive_internal_simple_2517_95 end -subgraph JettonDefaultWallet__receive_internal_simple_2685 - JettonDefaultWallet__receive_internal_simple_2685_96["let ctx: Context = context()"] - JettonDefaultWallet__receive_internal_simple_2685_97["if (ctx.sender != self.master)"] - JettonDefaultWallet__receive_internal_simple_2685_98["let sInit: StateInit = initOf JettonDefaultWallet(self.master, msg.from)"] - JettonDefaultWallet__receive_internal_simple_2685_99["require(contractAddress(sInit) == ctx.sender, 'Invalid sender!')"] - JettonDefaultWallet__receive_internal_simple_2685_100["self.balance = self.balance + msg.amount"] - JettonDefaultWallet__receive_internal_simple_2685_101["require(self.balance >= 0, 'Invalid balance')"] - JettonDefaultWallet__receive_internal_simple_2685_102["if (msg.forward_ton_amount > 0)"] - JettonDefaultWallet__receive_internal_simple_2685_103["send(SendParameters{to: self.owner, value: msg.forward_ton_amount, bounce: false, body: TokenNotification{queryId: msg.queryId, amount: msg.amount, from: msg.from, forward_payload: msg.forward_payload}.toCell()})"] - JettonDefaultWallet__receive_internal_simple_2685_104["let msgValue: Int = self.msgValue(ctx.value)"] - JettonDefaultWallet__receive_internal_simple_2685_105["let fwdFee: Int = ctx.readForwardFee()"] - JettonDefaultWallet__receive_internal_simple_2685_106["msgValue = msgValue - msg.forward_ton_amount - fwdFee"] - JettonDefaultWallet__receive_internal_simple_2685_107["if (msg.response_destination != null)"] - JettonDefaultWallet__receive_internal_simple_2685_108["send(SendParameters{to: !!msg.response_destination, value: msgValue, bounce: false, body: TokenExcesses{queryId: msg.queryId}.toCell(), mode: SendIgnoreErrors})"]:::exitNode - JettonDefaultWallet__receive_internal_simple_2685_96 --> JettonDefaultWallet__receive_internal_simple_2685_97 - JettonDefaultWallet__receive_internal_simple_2685_97 --> JettonDefaultWallet__receive_internal_simple_2685_98 - JettonDefaultWallet__receive_internal_simple_2685_98 --> JettonDefaultWallet__receive_internal_simple_2685_99 - JettonDefaultWallet__receive_internal_simple_2685_99 --> JettonDefaultWallet__receive_internal_simple_2685_100 - JettonDefaultWallet__receive_internal_simple_2685_100 --> JettonDefaultWallet__receive_internal_simple_2685_101 - JettonDefaultWallet__receive_internal_simple_2685_101 --> JettonDefaultWallet__receive_internal_simple_2685_102 - JettonDefaultWallet__receive_internal_simple_2685_102 --> JettonDefaultWallet__receive_internal_simple_2685_103 - JettonDefaultWallet__receive_internal_simple_2685_103 --> JettonDefaultWallet__receive_internal_simple_2685_104 - JettonDefaultWallet__receive_internal_simple_2685_104 --> JettonDefaultWallet__receive_internal_simple_2685_105 - JettonDefaultWallet__receive_internal_simple_2685_105 --> JettonDefaultWallet__receive_internal_simple_2685_106 - JettonDefaultWallet__receive_internal_simple_2685_106 --> JettonDefaultWallet__receive_internal_simple_2685_107 - JettonDefaultWallet__receive_internal_simple_2685_107 --> JettonDefaultWallet__receive_internal_simple_2685_108 +subgraph JettonDefaultWallet__receive_internal_simple_2687 + JettonDefaultWallet__receive_internal_simple_2687_96["let ctx: Context = context()"] + JettonDefaultWallet__receive_internal_simple_2687_97["if (ctx.sender != self.master)"] + JettonDefaultWallet__receive_internal_simple_2687_98["let sInit: StateInit = initOf JettonDefaultWallet(self.master, msg.from)"] + JettonDefaultWallet__receive_internal_simple_2687_99["require(contractAddress(sInit) == ctx.sender, 'Invalid sender!')"] + JettonDefaultWallet__receive_internal_simple_2687_100["self.balance = self.balance + msg.amount"] + JettonDefaultWallet__receive_internal_simple_2687_101["require(self.balance >= 0, 'Invalid balance')"] + JettonDefaultWallet__receive_internal_simple_2687_102["if (msg.forward_ton_amount > 0)"] + JettonDefaultWallet__receive_internal_simple_2687_103["send(SendParameters{to: self.owner, value: msg.forward_ton_amount, bounce: false, body: TokenNotification{queryId: msg.queryId, amount: msg.amount, from: msg.from, forward_payload: msg.forward_payload}.toCell()})"] + JettonDefaultWallet__receive_internal_simple_2687_104["let msgValue: Int = self.msgValue(ctx.value)"] + JettonDefaultWallet__receive_internal_simple_2687_105["let fwdFee: Int = ctx.readForwardFee()"] + JettonDefaultWallet__receive_internal_simple_2687_106["msgValue = msgValue - msg.forward_ton_amount - fwdFee"] + JettonDefaultWallet__receive_internal_simple_2687_107["if (msg.response_destination != null)"] + JettonDefaultWallet__receive_internal_simple_2687_108["send(SendParameters{to: !!msg.response_destination, value: msgValue, bounce: false, body: TokenExcesses{queryId: msg.queryId}.toCell(), mode: SendIgnoreErrors})"]:::exitNode + JettonDefaultWallet__receive_internal_simple_2687_96 --> JettonDefaultWallet__receive_internal_simple_2687_97 + JettonDefaultWallet__receive_internal_simple_2687_97 --> JettonDefaultWallet__receive_internal_simple_2687_98 + JettonDefaultWallet__receive_internal_simple_2687_98 --> JettonDefaultWallet__receive_internal_simple_2687_99 + JettonDefaultWallet__receive_internal_simple_2687_99 --> JettonDefaultWallet__receive_internal_simple_2687_100 + JettonDefaultWallet__receive_internal_simple_2687_100 --> JettonDefaultWallet__receive_internal_simple_2687_101 + JettonDefaultWallet__receive_internal_simple_2687_101 --> JettonDefaultWallet__receive_internal_simple_2687_102 + JettonDefaultWallet__receive_internal_simple_2687_102 --> JettonDefaultWallet__receive_internal_simple_2687_103 + JettonDefaultWallet__receive_internal_simple_2687_103 --> JettonDefaultWallet__receive_internal_simple_2687_104 + JettonDefaultWallet__receive_internal_simple_2687_104 --> JettonDefaultWallet__receive_internal_simple_2687_105 + JettonDefaultWallet__receive_internal_simple_2687_105 --> JettonDefaultWallet__receive_internal_simple_2687_106 + JettonDefaultWallet__receive_internal_simple_2687_106 --> JettonDefaultWallet__receive_internal_simple_2687_107 + JettonDefaultWallet__receive_internal_simple_2687_107 --> JettonDefaultWallet__receive_internal_simple_2687_108 end subgraph JettonDefaultWallet__msgValue JettonDefaultWallet__msgValue_109["let tonBalanceBeforeMsg: Int = myBalance() - value"] @@ -97,31 +97,31 @@ subgraph JettonDefaultWallet__msgValue JettonDefaultWallet__msgValue_110 --> JettonDefaultWallet__msgValue_111 JettonDefaultWallet__msgValue_111 --> JettonDefaultWallet__msgValue_112 end -subgraph JettonDefaultWallet__receive_internal_simple_2830 - JettonDefaultWallet__receive_internal_simple_2830_113["let ctx: Context = context()"] - JettonDefaultWallet__receive_internal_simple_2830_114["require(ctx.sender == self.owner, 'Invalid sender')"] - JettonDefaultWallet__receive_internal_simple_2830_115["self.balance = self.balance - msg.amount"] - JettonDefaultWallet__receive_internal_simple_2830_116["require(self.balance >= 0, 'Invalid balance')"] - JettonDefaultWallet__receive_internal_simple_2830_117["let fwdFee: Int = ctx.readForwardFee()"] - JettonDefaultWallet__receive_internal_simple_2830_118["require(ctx.value > fwdFee + 2 * self.gasConsumption + self.minTonsForStorage, 'Invalid value - Burn')"] - JettonDefaultWallet__receive_internal_simple_2830_119["send(SendParameters{to: self.master, value: 0, mode: SendRemainingValue, bounce: true, body: TokenBurnNotification{queryId: msg.queryId, amount: msg.amount, owner: self.owner, response_destination: self.owner}.toCell()})"]:::exitNode - JettonDefaultWallet__receive_internal_simple_2830_113 --> JettonDefaultWallet__receive_internal_simple_2830_114 - JettonDefaultWallet__receive_internal_simple_2830_114 --> JettonDefaultWallet__receive_internal_simple_2830_115 - JettonDefaultWallet__receive_internal_simple_2830_115 --> JettonDefaultWallet__receive_internal_simple_2830_116 - JettonDefaultWallet__receive_internal_simple_2830_116 --> JettonDefaultWallet__receive_internal_simple_2830_117 - JettonDefaultWallet__receive_internal_simple_2830_117 --> JettonDefaultWallet__receive_internal_simple_2830_118 - JettonDefaultWallet__receive_internal_simple_2830_118 --> JettonDefaultWallet__receive_internal_simple_2830_119 +subgraph JettonDefaultWallet__receive_internal_simple_2832 + JettonDefaultWallet__receive_internal_simple_2832_113["let ctx: Context = context()"] + JettonDefaultWallet__receive_internal_simple_2832_114["require(ctx.sender == self.owner, 'Invalid sender')"] + JettonDefaultWallet__receive_internal_simple_2832_115["self.balance = self.balance - msg.amount"] + JettonDefaultWallet__receive_internal_simple_2832_116["require(self.balance >= 0, 'Invalid balance')"] + JettonDefaultWallet__receive_internal_simple_2832_117["let fwdFee: Int = ctx.readForwardFee()"] + JettonDefaultWallet__receive_internal_simple_2832_118["require(ctx.value > fwdFee + 2 * self.gasConsumption + self.minTonsForStorage, 'Invalid value - Burn')"] + JettonDefaultWallet__receive_internal_simple_2832_119["send(SendParameters{to: self.master, value: 0, mode: SendRemainingValue, bounce: true, body: TokenBurnNotification{queryId: msg.queryId, amount: msg.amount, owner: self.owner, response_destination: self.owner}.toCell()})"]:::exitNode + JettonDefaultWallet__receive_internal_simple_2832_113 --> JettonDefaultWallet__receive_internal_simple_2832_114 + JettonDefaultWallet__receive_internal_simple_2832_114 --> JettonDefaultWallet__receive_internal_simple_2832_115 + JettonDefaultWallet__receive_internal_simple_2832_115 --> JettonDefaultWallet__receive_internal_simple_2832_116 + JettonDefaultWallet__receive_internal_simple_2832_116 --> JettonDefaultWallet__receive_internal_simple_2832_117 + JettonDefaultWallet__receive_internal_simple_2832_117 --> JettonDefaultWallet__receive_internal_simple_2832_118 + JettonDefaultWallet__receive_internal_simple_2832_118 --> JettonDefaultWallet__receive_internal_simple_2832_119 end -subgraph JettonDefaultWallet__receive_bounce_2874 - JettonDefaultWallet__receive_bounce_2874_120["let op: Int = msg.loadUint(32)"] - JettonDefaultWallet__receive_bounce_2874_121["let queryId: Int = msg.loadUint(64)"] - JettonDefaultWallet__receive_bounce_2874_122["let jettonAmount: Int = msg.loadCoins()"] - JettonDefaultWallet__receive_bounce_2874_123["require(op == 0x178d4519 || op == 0x7bdd97de, 'Invalid bounced message')"] - JettonDefaultWallet__receive_bounce_2874_124["self.balance = self.balance + jettonAmount"]:::exitNode - JettonDefaultWallet__receive_bounce_2874_120 --> JettonDefaultWallet__receive_bounce_2874_121 - JettonDefaultWallet__receive_bounce_2874_121 --> JettonDefaultWallet__receive_bounce_2874_122 - JettonDefaultWallet__receive_bounce_2874_122 --> JettonDefaultWallet__receive_bounce_2874_123 - JettonDefaultWallet__receive_bounce_2874_123 --> JettonDefaultWallet__receive_bounce_2874_124 +subgraph JettonDefaultWallet__receive_bounce_2876 + JettonDefaultWallet__receive_bounce_2876_120["let op: Int = msg.loadUint(32)"] + JettonDefaultWallet__receive_bounce_2876_121["let queryId: Int = msg.loadUint(64)"] + JettonDefaultWallet__receive_bounce_2876_122["let jettonAmount: Int = msg.loadCoins()"] + JettonDefaultWallet__receive_bounce_2876_123["require(op == 0x178d4519 || op == 0x7bdd97de, 'Invalid bounced message')"] + JettonDefaultWallet__receive_bounce_2876_124["self.balance = self.balance + jettonAmount"]:::exitNode + JettonDefaultWallet__receive_bounce_2876_120 --> JettonDefaultWallet__receive_bounce_2876_121 + JettonDefaultWallet__receive_bounce_2876_121 --> JettonDefaultWallet__receive_bounce_2876_122 + JettonDefaultWallet__receive_bounce_2876_122 --> JettonDefaultWallet__receive_bounce_2876_123 + JettonDefaultWallet__receive_bounce_2876_123 --> JettonDefaultWallet__receive_bounce_2876_124 end subgraph JettonDefaultWallet__get_wallet_data JettonDefaultWallet__get_wallet_data_125["return JettonWalletData{balance: self.balance, owner: self.owner, master: self.master, walletCode: initOf JettonDefaultWallet(self.master, self.owner).code}"]:::exitNode diff --git a/test/cli.spec.ts b/test/cli.spec.ts index 67c4e6b1..3d83879b 100644 --- a/test/cli.spec.ts +++ b/test/cli.spec.ts @@ -15,7 +15,7 @@ describe("CLI Argument Parsing", () => { }); await runMistiCommand(args); expect(driverMakeSpy).toHaveBeenCalledWith( - TACT_CONFIG_PATH, + [TACT_CONFIG_PATH], expect.objectContaining({ verbose: true, }), @@ -33,7 +33,7 @@ describe("CLI Argument Parsing", () => { }); await runMistiCommand(args); expect(driverMakeSpy).toHaveBeenCalledWith( - TACT_CONFIG_PATH, + [TACT_CONFIG_PATH], expect.objectContaining({ outputFormat: "json", }),