This example demonstrates how to infuse an NFT with another token. A transaction script is created and sent using the SendTransaction() method from the PhantasmaLinkClient class.
publicvoidInfuseNFT(){if (!PhantasmaLinkClient.Instance.IsLogged) return;ScriptBuilder sb =newScriptBuilder();var userAddress =Address.FromText(PhantasmaLinkClient.Instance.Address);var symbol ="CROWN";var tokenID =newBigInteger("190000000");var infuseSymbol ="SOUL"; // IT could be an NFTvar infuseAmount =UnitConversion.ToBigInteger(1,8);var payload =Base16.Decode("OurDappExample"); var script = sb.AllowGas(userAddress, Address.Null, PhantasmaLinkClient.Instance.GasPrice, PhantasmaLinkClient.Instance.GasLimit ).
CallInterop("Runtime.InfuseToken", userAddress, symbol, tokenID, infuseSymbol, infuseAmount).SpendGas(userAddress).EndScript();PhantasmaLinkClient.Instance.SendTransaction("main", script, payload, (hash, s) => {if ( hash.IsNull ) {Debug.Log("Transaction failed: "+ s);return; }Debug.Log("Transaction sent: "+ hash); });}