Approve a spender to move tokens on your behalf, end to end.
Token contract address.
Spender address being granted the allowance.
Amount to approve (bigint-valued decimal string).
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Burn tokens from an address, end to end.
Token contract address.
Address to burn tokens from.
Amount to burn (bigint-valued decimal string).
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Call a custom script method on the token, end to end.
Token contract address.
Method name to invoke.
Method parameters.
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Deploy a new token, end to end.
Token creation parameters (name, ticker, decimals, initial supply, optional script/ACL).
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Grant ACL permissions to an address, end to end.
Token contract address.
Address being granted the permissions.
Permissions to grant.
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Mint new tokens to an address, end to end.
Token contract address.
Recipient of the minted tokens.
Amount to mint (bigint-valued decimal string).
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Pause all token operations, end to end.
Token contract address.
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Revoke ACL permissions from an address, end to end.
Token contract address.
Address the permissions are revoked from.
Permissions to revoke.
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Transfer tokens to another address, end to end.
// auto-broadcast within the 5 DEM fee cap:
await demos.run.tokens.transfer("0xToken...", "0xTo...", "1000")
// build + confirm only, broadcast later yourself:
const r = await demos.run.tokens.transfer(
"0xToken...", "0xTo...", "1000", { confirm: "manual" },
)
await demos.broadcast(r.validityData)
Token contract address.
Recipient address.
Amount to transfer (bigint-valued decimal string).
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Transfer tokens from one address to another using an existing allowance, end to end.
Token contract address.
Owner address the tokens are moved from.
Recipient address.
Amount to transfer (bigint-valued decimal string).
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Transfer ownership of the token to a new owner, end to end.
Token contract address.
Address of the new owner.
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Resume a paused token, end to end.
Token contract address.
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Upgrade the token's on-chain script, end to end.
Token contract address.
New script code.
New method definitions to install.
New hooks to activate.
Optionalopts: ProgrammaticTxOptionsFee ceiling / confirmation strategy / wait behaviour.
Token creation and execution as one-call programmatic transactions.
Wraps DemosTokens so deploying a token or running a token operation (transfer, approve, mint, burn, …) collapses the classic
build → sign → confirm → broadcastflow into a single call. Each builder here returns an UNSIGNED transaction; the method hands a thunk producing it toctx.run(...), which signs, confirms against the fee ceiling and auto-broadcasts — keeping fee-cap policy, confirmation strategy and result shape uniform with the rest ofdemos.run.*.All amounts are bigint-valued decimal strings, mirroring DemosTokens.