_Docs/
Get StartedModulesPlatformDeployCookbookChangelogReference
_Stack
_Modules
  • Ledger
  • Numscript
    • Program Structure
    • Selecting an Interpreter
    • Unambiguous Monetary Notation
    • CLI
    • Numscript specs format
    • Reference
      • Send
      • Sources
      • Destinations
      • Rounding
      • Save
      • Overdraft
      • Variables
      • Metadata
      • oneofexp
      • Account Interpolationexp
      • get_assetexp
      • get_amountexp
      • Mid-script Function Callsexp
      • Asset Colorsexp
  • Connectivity
  • WalletsEE
  • FlowsEE
  • ReconciliationEE
  1. Modules
  2. Numscript
  3. Reference
  4. Mid-script Function Calls
Numscript

Mid-script Function Calls

Numscript

Requires flag: experimental-mid-script-function-call

Call functions like balance() directly in variable declarations, and use arithmetic expressions in the vars block.

Function calls in vars#

Numscript
vars {
  number $current = balance(@users:1234, USD/2)
}

send [USD/2 $current] (
  source = @users:1234
  destination = @savings:1234
)

Without this feature, balance() can only be used inline. With it, you can capture the result in a variable and reference it multiple times.

Arithmetic expressions#

Numscript
vars {
  number $fee = 100
  number $total = balance(@users:1234, USD/2)
}

send [USD/2 $total] (
  source = @users:1234
  destination = {
    $fee to @platform:fees
    remaining to @merchants:5678
  }
)

set_tx_meta("fee", $fee)
set_tx_meta("total", $total)
get_amountAsset Colors
On This Page
  • Function calls in vars
  • Arithmetic expressions