ZHENG
0x24E62C39e34d7fE2B7dF1162e1344eB6eb3b3e150x6078b42d…81c720Source details
| Property | Value |
|---|---|
| Keccak256 Hash | 0x6078b42d4fe57900b92e66fc3723331b7d217e2e6aedbfd6ae4004c99a81c720 |
| Source URL | https://raw.githubusercontent.com/busytoby/atropa_pulsechain/58607494f7741b80525953e4a85bc99e66fd20fc/solidity/dysnomia/05_zheng.sol |
| Source Revision | 58607494f7741b80525953e4a85bc99e66fd20fc |
| Source Status | Canonical source snapshot; deployed bytecode equivalence is only established where a deployment record says so. |
| Compiler | solc 0.8.21; optimizer enabled with 200 runs |
| Compiler Configuration | {"evmVersion":"compiler-default","optimizer":{"enabled":true,"runs":200},"version":"0.8.21+commit.d9974bed.Linux.g++"} |
| Compilation Closure Hash | 0x3b23fecf9107b74fbfecc189699b76ab0cc7acdd335c1d9edb06378a95455f6c |
| Compilation Closure Files | 11 |
| Hash Generated | 2026-09-14T19:33:35Z |
Overview
Section titled “Overview”ZHENG is the Rod/Cone installation manager that handles registering and installing Bao operations into indexed slots. It provides the infrastructure for managing multiple SHIO pairs with their associated state.
- Kind: Contract
- License: Sharia
- Solidity: ^0.8.21
- Source:
05_zheng.sol
Inheritance Chain (C3 Linearized)
Section titled “Inheritance Chain (C3 Linearized)”- self — ZHENG
- DYSNOMIA
- MultiOwnable
Immediate Parents
Section titled “Immediate Parents”What This Means For Players
Section titled “What This Means For Players”Plain English Summary: ZHENG is the installation manager - it registers your stuff in the system. When new tokens, accounts, or game elements are created, ZHENG assigns them a permanent spot in the registry. Think of it as the DMV that issues license plates - once your token is installed, it has a permanent address.
Real-World Analogy: Imagine a parking garage with numbered spots. ZHENG is the attendant who assigns each car (token/operation) to a specific numbered spot. Once parked, your spot is reserved forever - no one else can take it. You can always find your car by remembering your spot number.
How It Affects Your Gameplay:
- Permanent registration - Your player tokens get installed here and can always be found
- Market rate setup - When tokens are installed, their exchange rates are automatically set up
- System infrastructure - All the behind-the-scenes installation that makes the game work
State Variables
Section titled “State Variables”| Variable | Type | Visibility | Mutability | Initial Value | NatSpec |
|---|---|---|---|---|---|
Type |
string |
public | constant | ZHENG |
|
Eta |
YI |
public | mutable | `` | |
Sigma |
mapping(uint64 => Bao) |
private | mutable | `` |
Errors
Section titled “Errors”| Error | Parameters | NatSpec |
|---|---|---|
SigmaAlreadyInstalled |
address Phi |
Constructor
Section titled “Constructor”constructor
Section titled “constructor”constructorconstructor
constructor(address YiContract) DYSNOMIA(unicode"CHATLOG Zheng", unicode"ZHENG", address(DYSNOMIA(YiContract).Xiao()))- Modifiers:
DYSNOMIA(unicode"CHATLOG Zheng", unicode"ZHENG", address(DYSNOMIA(YiContract).Xiao())) - Parameters: address YiContract
Functions
Section titled “Functions”External & Public
Section titled “External & Public”GetRodByIdx
Section titled “GetRodByIdx”GetRodByIdxfunction
function GetRodByIdx(uint64 _theta) public returns (Bao memory)Open this function to load its call form.
- Visibility: public
- Parameters: uint64 _theta
- Returns: Bao memory
InstallRod
Section titled “InstallRod”InstallRodfunction
function InstallRod(uint64 Theta, Bao memory Beta, uint64 Monopole) public onlyOwners returns (Bao memory)Open this function to load its call form.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint64 Theta, Bao memory Beta, uint64 Monopole
- Returns: Bao memory
InstallCone
Section titled “InstallCone”InstallConefunction
function InstallCone(uint64 Theta, Bao memory Beta, uint64 Monopole) public onlyOwners returns (Bao memory)Open this function to load its call form.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint64 Theta, Bao memory Beta, uint64 Monopole
- Returns: Bao memory
Maufunction
function Mau(string memory name, string memory symbol, uint64 Xi, uint64 Rho, uint64 Upsilon) public onlyOwners returns (Bao memory On)Open this function to load its call form.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: string memory name, string memory symbol, uint64 Xi, uint64 Rho, uint64 Upsilon
- Returns: Bao memory On
Iodize
Section titled “Iodize”Iodizefunction
function Iodize(SHIO Shio) publicOpen this function to load its call form.
- Visibility: public
- Parameters: SHIO Shio
Internal
Section titled “Internal”Augment
Section titled “Augment”Augmentfunction
function Augment() internal- Visibility: internal
Inherited Members
Section titled “Inherited Members”This contract inherits the members below from its parents. See each parent’s dedicated MD for full signatures, NatSpec, and semantics.
External & Public Functions
| Function | Signature | State Mutability |
|---|---|---|
Rename |
function Rename(string memory newName, string memory newSymbol) public onlyOwners |
nonpayable |
mintToCap |
function mintToCap() public onlyOwners |
nonpayable |
GetMarketRate |
function GetMarketRate(address _a) public view returns (uint256) |
view |
Purchase |
function Purchase(address _t, uint256 _a) public |
nonpayable |
Redeem |
function Redeem(address _t, uint256 _a) public |
nonpayable |
name |
function name() public view virtual returns (string memory) |
view |
symbol |
function symbol() public view virtual returns (string memory) |
view |
decimals |
function decimals() public view virtual returns (uint8) |
view |
totalSupply |
function totalSupply() public view virtual returns (uint256) |
view |
balanceOf |
function balanceOf(address account) public view virtual returns (uint256) |
view |
transfer |
function transfer(address to, uint256 value) public virtual returns (bool) |
nonpayable |
allowance |
function allowance(address owner, address spender) public view virtual returns (uint256) |
view |
approve |
function approve(address spender, uint256 value) public virtual returns (bool) |
nonpayable |
transferFrom |
function transferFrom(address from, address to, uint256 value) public virtual returns (bool) |
nonpayable |
Internal Functions
| Function | Signature |
|---|---|
_mintToCap |
function _mintToCap() internal |
AddMarketRate |
function AddMarketRate(address _a, uint256 _r) internal |
_transfer |
function _transfer(address from, address to, uint256 value) internal |
_update |
function _update(address from, address to, uint256 value) internal virtual |
_mint |
function _mint(address account, uint256 value) internal |
_approve |
function _approve(address owner, address spender, uint256 value) internal |
_spendAllowance |
function _spendAllowance(address owner, address spender, uint256 value) internal virtual |
log10 |
function log10(uint256 value) internal pure returns (uint256) |
String |
function String(uint256 value) internal pure returns (string memory buffer) |
Hex |
function Hex(address account) internal pure returns (string memory) |
Events
| Event | Parameters |
|---|---|
Transfer |
address indexed from, address indexed to, uint256 value |
Approval |
address indexed owner, address indexed spender, uint256 value |
Errors
| Error | Parameters |
|---|---|
MarketRateNotFound |
address asset |
DysnomiaInsufficientBalance |
address origin, address sender, address from, address to, address what, uint256 balance, uint256 needed |
DysnomiaInsufficientAllowance |
address origin, address sender, address owner, address spender, address what, uint256 allowance, uint256 needed |
State Variables (private parent storage is not reachable and is omitted)
| Variable | Type | Visibility | Mutability |
|---|---|---|---|
__name |
string |
internal | mutable |
__symbol |
string |
internal | mutable |
MotzkinPrime |
uint64 |
public | constant |
Xiao |
atropaMath |
public | mutable |
maxSupply |
uint256 |
public | mutable |
External & Public Functions
| Function | Signature | State Mutability |
|---|---|---|
owner |
function owner() external view virtual returns (address) |
view |
renounceOwnership |
function renounceOwnership(address toRemove) public virtual onlyOwners |
nonpayable |
addOwner |
function addOwner(address newOwner) public virtual onlyOwners |
nonpayable |
Internal Functions
| Function | Signature |
|---|---|
_checkOwner |
function _checkOwner() internal view virtual |
_changeOwnership |
function _changeOwnership(address cOwner, bool cState) internal virtual |
Events
| Event | Parameters |
|---|---|
OwnershipUpdate |
address indexed newOwner, bool indexed state |
Errors
| Error | Parameters |
|---|---|
OwnableUnauthorizedAccount |
address origin, address account, address what |
OwnableInvalidOwner |
address origin, address owner, address what |
Modifiers
| Modifier | Parameters |
|---|---|
onlyOwners |
(none) |
Contract Interactions
Section titled “Contract Interactions”Depends On
Section titled “Depends On”Depended On By
Section titled “Depended On By”Special Mechanisms
Section titled “Special Mechanisms”Sigma Registry
Section titled “Sigma Registry”The Sigma mapping uses uint64 keys (typically Xi or Theta values) to store Bao installations. Once installed, a slot cannot be overwritten.
Installation Process
Section titled “Installation Process”1. Check slot is empty2. Store Bao in YI (Bing)3. React Bao with Monopole4. Store reacted Bao in Sigma5. Log installation6. Set market rates for all tokensMarket Rate Configuration
Section titled “Market Rate Configuration”InstallRod sets market rates for:
- Bao.Phi address
- Bao.Shio address
- Bao.Shio.Rod address
- Bao.Shio.Cone address
InstallCone only sets rate for Cone (minimized setup).
Mau Complete Creation
Section titled “Mau Complete Creation”The Mau function handles the full lifecycle:
- Create Rod SHA via YI
- Create Cone SHA via YI
- Create SHIO from Rod/Cone
- Setup ownership chain
- Generate SHIO with parameters
- Iodize the SHIO
- Magnetize the SHIO
- Install as Cone
Usage Pattern
Section titled “Usage Pattern”// Create and install a complete setupBao memory setup = zheng.Mau("My Token", "MTK", xi, rho, upsilon);
// Or install an existing BaoBao memory existing = ...;existing = zheng.InstallRod(theta, existing, monopole);
// Retrieve laterBao memory retrieved = zheng.GetRodByIdx(theta);Inherited functions and getters (23)
ZHENG.Eta()Read
Open this function to load its call form.
ZHENG.GetMarketRate(address _a)Read
Open this function to load its call form.
ZHENG.MotzkinPrime()Read
Open this function to load its call form.
ZHENG.Purchase(address _t, uint256 _a)Simulate / call
Open this function to load its call form.
ZHENG.Redeem(address _t, uint256 _a)Simulate / call
Open this function to load its call form.
ZHENG.Rename(string newName, string newSymbol)Simulate / call
Open this function to load its call form.
ZHENG.Type()Read
Open this function to load its call form.
ZHENG.Xiao()Read
Open this function to load its call form.
ZHENG.addOwner(address newOwner)Simulate / call
Open this function to load its call form.
ZHENG.allowance(address owner, address spender)Read
Open this function to load its call form.
ZHENG.approve(address spender, uint256 value)Simulate / call
Open this function to load its call form.
ZHENG.balanceOf(address account)Read
Open this function to load its call form.
ZHENG.decimals()Read
Open this function to load its call form.
ZHENG.maxSupply()Read
Open this function to load its call form.
ZHENG.mintToCap()Simulate / call
Open this function to load its call form.
ZHENG.name()Read
Open this function to load its call form.
ZHENG.owner(address cOwner)Read
Open this function to load its call form.
ZHENG.owner()Read
Open this function to load its call form.
ZHENG.renounceOwnership(address toRemove)Simulate / call
Open this function to load its call form.
ZHENG.symbol()Read
Open this function to load its call form.
ZHENG.totalSupply()Read
Open this function to load its call form.
ZHENG.transfer(address to, uint256 value)Simulate / call
Open this function to load its call form.
ZHENG.transferFrom(address from, address to, uint256 value)Simulate / call
Open this function to load its call form.
Compiled ABI
Section titled “Compiled ABI”The compiled ABI below is produced by solc 0.8.21 from the exact source bytes recorded in Source details. Consumers can paste it directly into ethers/web3/viem.
Click to expand JSON ABI
[ { "inputs": [ { "internalType": "address", "name": "YiContract", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "origin", "type": "address" }, { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "address", "name": "what", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "DysnomiaInsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "origin", "type": "address" }, { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "address", "name": "what", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "DysnomiaInsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address" } ], "name": "MarketRateNotFound", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "origin", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "what", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "origin", "type": "address" }, { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "what", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "Phi", "type": "address" } ], "name": "SigmaAlreadyInstalled", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "state", "type": "bool" } ], "name": "OwnershipUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "Eta", "outputs": [ { "internalType": "contract YI", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_a", "type": "address" } ], "name": "GetMarketRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_theta", "type": "uint64" } ], "name": "GetRodByIdx", "outputs": [ { "components": [ { "internalType": "address", "name": "Phi", "type": "address" }, { "internalType": "contract SHA", "name": "Mu", "type": "address" }, { "internalType": "uint64", "name": "Xi", "type": "uint64" }, { "internalType": "uint64", "name": "Pi", "type": "uint64" }, { "internalType": "contract SHIO", "name": "Shio", "type": "address" }, { "internalType": "uint64", "name": "Ring", "type": "uint64" }, { "internalType": "uint64", "name": "Omicron", "type": "uint64" }, { "internalType": "uint64", "name": "Omega", "type": "uint64" } ], "internalType": "struct Bao", "name": "", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "Theta", "type": "uint64" }, { "components": [ { "internalType": "address", "name": "Phi", "type": "address" }, { "internalType": "contract SHA", "name": "Mu", "type": "address" }, { "internalType": "uint64", "name": "Xi", "type": "uint64" }, { "internalType": "uint64", "name": "Pi", "type": "uint64" }, { "internalType": "contract SHIO", "name": "Shio", "type": "address" }, { "internalType": "uint64", "name": "Ring", "type": "uint64" }, { "internalType": "uint64", "name": "Omicron", "type": "uint64" }, { "internalType": "uint64", "name": "Omega", "type": "uint64" } ], "internalType": "struct Bao", "name": "Beta", "type": "tuple" }, { "internalType": "uint64", "name": "Monopole", "type": "uint64" } ], "name": "InstallCone", "outputs": [ { "components": [ { "internalType": "address", "name": "Phi", "type": "address" }, { "internalType": "contract SHA", "name": "Mu", "type": "address" }, { "internalType": "uint64", "name": "Xi", "type": "uint64" }, { "internalType": "uint64", "name": "Pi", "type": "uint64" }, { "internalType": "contract SHIO", "name": "Shio", "type": "address" }, { "internalType": "uint64", "name": "Ring", "type": "uint64" }, { "internalType": "uint64", "name": "Omicron", "type": "uint64" }, { "internalType": "uint64", "name": "Omega", "type": "uint64" } ], "internalType": "struct Bao", "name": "", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "Theta", "type": "uint64" }, { "components": [ { "internalType": "address", "name": "Phi", "type": "address" }, { "internalType": "contract SHA", "name": "Mu", "type": "address" }, { "internalType": "uint64", "name": "Xi", "type": "uint64" }, { "internalType": "uint64", "name": "Pi", "type": "uint64" }, { "internalType": "contract SHIO", "name": "Shio", "type": "address" }, { "internalType": "uint64", "name": "Ring", "type": "uint64" }, { "internalType": "uint64", "name": "Omicron", "type": "uint64" }, { "internalType": "uint64", "name": "Omega", "type": "uint64" } ], "internalType": "struct Bao", "name": "Beta", "type": "tuple" }, { "internalType": "uint64", "name": "Monopole", "type": "uint64" } ], "name": "InstallRod", "outputs": [ { "components": [ { "internalType": "address", "name": "Phi", "type": "address" }, { "internalType": "contract SHA", "name": "Mu", "type": "address" }, { "internalType": "uint64", "name": "Xi", "type": "uint64" }, { "internalType": "uint64", "name": "Pi", "type": "uint64" }, { "internalType": "contract SHIO", "name": "Shio", "type": "address" }, { "internalType": "uint64", "name": "Ring", "type": "uint64" }, { "internalType": "uint64", "name": "Omicron", "type": "uint64" }, { "internalType": "uint64", "name": "Omega", "type": "uint64" } ], "internalType": "struct Bao", "name": "", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract SHIO", "name": "Shio", "type": "address" } ], "name": "Iodize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint64", "name": "Xi", "type": "uint64" }, { "internalType": "uint64", "name": "Rho", "type": "uint64" }, { "internalType": "uint64", "name": "Upsilon", "type": "uint64" } ], "name": "Mau", "outputs": [ { "components": [ { "internalType": "address", "name": "Phi", "type": "address" }, { "internalType": "contract SHA", "name": "Mu", "type": "address" }, { "internalType": "uint64", "name": "Xi", "type": "uint64" }, { "internalType": "uint64", "name": "Pi", "type": "uint64" }, { "internalType": "contract SHIO", "name": "Shio", "type": "address" }, { "internalType": "uint64", "name": "Ring", "type": "uint64" }, { "internalType": "uint64", "name": "Omicron", "type": "uint64" }, { "internalType": "uint64", "name": "Omega", "type": "uint64" } ], "internalType": "struct Bao", "name": "On", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "MotzkinPrime", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_t", "type": "address" }, { "internalType": "uint256", "name": "_a", "type": "uint256" } ], "name": "Purchase", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_t", "type": "address" }, { "internalType": "uint256", "name": "_a", "type": "uint256" } ], "name": "Redeem", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newName", "type": "string" }, { "internalType": "string", "name": "newSymbol", "type": "string" } ], "name": "Rename", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "Type", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "Xiao", "outputs": [ { "internalType": "contract atropaMath", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "addOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mintToCap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "cOwner", "type": "address" } ], "name": "owner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "toRemove", "type": "address" } ], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }]