Module moody.upgrade.Token
Expand source code
from .. import Token
from ..libeb import MiliDoS
from ..m.tc20 import Tc20
class TokenActor(Token):
"""
Preforming an upgrade contract to the previous contract
"""
def __init__(self, _from: MiliDoS):
self.engine: MiliDoS = _from
self._token: Tc20
@property
def TokenAddress(self) -> str:
if self.engine.hasContractName("Tc20"):
return self.engine.getAddr("Tc20")
elif self.engine.hasContractName("Ori20"):
return self.engine.getAddr("Ori20")
elif self.engine.hasContractName("Erc20"):
return self.engine.getAddr("Erc20")
else:
raise ValueError("🛑 token contract address is not found")
def conf(self, tokenNameOrAddress: str = None) -> "TokenActor":
head = tokenNameOrAddress[:2]
address = ""
if head == "0x":
address = tokenNameOrAddress
elif self.engine.hasContractName(tokenNameOrAddress):
address = self.engine.getAddr(tokenNameOrAddress)
else:
print("⚠️ Since there is no given token address, we will fail back and select the default NameClass Tc20/Ori20/Erc20")
address = self.TokenAddress
self._token = Tc20(self.engine, address)
self._token.CallContractFee(self.engine.gas, self.engine.gasPrice).CallDebug(True).CallContractWait(self.engine.waitSec)
return self
def addMinter(self, who: str) -> None:
self._token.add_minter(who)
def issueCoin(self, benefit: str, count: int) -> None:
self._token.mint(benefit, count)
def issueCoinWithBase(self, benefit: str, one: int) -> None:
self._token.mint(benefit, one * self.engine.one)
def removeMinter(self, whom: str) -> None:
self._token.remove_minter(whom)
def balanceCheck(self, whom: str) -> int:
return self._token.balance_of(whom)
def approve(self, whom_spender: str, amount: int) -> bool:
return self._token.approve(whom_spender, amount)
def allowance(self, owner: str, spender: str) -> int:
return self._token.allowance(owner, spender)
def transfer(self, owner: str, amount: int) -> bool:
return self._token.transfer(owner, amount)
Classes
class TokenActor (_from: MiliDoS)
-
Preforming an upgrade contract to the previous contract
Expand source code
class TokenActor(Token): """ Preforming an upgrade contract to the previous contract """ def __init__(self, _from: MiliDoS): self.engine: MiliDoS = _from self._token: Tc20 @property def TokenAddress(self) -> str: if self.engine.hasContractName("Tc20"): return self.engine.getAddr("Tc20") elif self.engine.hasContractName("Ori20"): return self.engine.getAddr("Ori20") elif self.engine.hasContractName("Erc20"): return self.engine.getAddr("Erc20") else: raise ValueError("🛑 token contract address is not found") def conf(self, tokenNameOrAddress: str = None) -> "TokenActor": head = tokenNameOrAddress[:2] address = "" if head == "0x": address = tokenNameOrAddress elif self.engine.hasContractName(tokenNameOrAddress): address = self.engine.getAddr(tokenNameOrAddress) else: print("⚠️ Since there is no given token address, we will fail back and select the default NameClass Tc20/Ori20/Erc20") address = self.TokenAddress self._token = Tc20(self.engine, address) self._token.CallContractFee(self.engine.gas, self.engine.gasPrice).CallDebug(True).CallContractWait(self.engine.waitSec) return self def addMinter(self, who: str) -> None: self._token.add_minter(who) def issueCoin(self, benefit: str, count: int) -> None: self._token.mint(benefit, count) def issueCoinWithBase(self, benefit: str, one: int) -> None: self._token.mint(benefit, one * self.engine.one) def removeMinter(self, whom: str) -> None: self._token.remove_minter(whom) def balanceCheck(self, whom: str) -> int: return self._token.balance_of(whom) def approve(self, whom_spender: str, amount: int) -> bool: return self._token.approve(whom_spender, amount) def allowance(self, owner: str, spender: str) -> int: return self._token.allowance(owner, spender) def transfer(self, owner: str, amount: int) -> bool: return self._token.transfer(owner, amount)
Ancestors
- moody.Token
Class variables
var address : str
var balance : dict
var code_hash : str
var decimal : int
var name : str
var spender : dict
var token_contract : str
var total_supply : int
Instance variables
var TokenAddress : str
-
Expand source code
@property def TokenAddress(self) -> str: if self.engine.hasContractName("Tc20"): return self.engine.getAddr("Tc20") elif self.engine.hasContractName("Ori20"): return self.engine.getAddr("Ori20") elif self.engine.hasContractName("Erc20"): return self.engine.getAddr("Erc20") else: raise ValueError("🛑 token contract address is not found")
Methods
def addMinter(self, who: str) ‑> NoneType
-
Expand source code
def addMinter(self, who: str) -> None: self._token.add_minter(who)
def allowance(self, owner: str, spender: str) ‑> int
-
Expand source code
def allowance(self, owner: str, spender: str) -> int: return self._token.allowance(owner, spender)
def approve(self, whom_spender: str, amount: int) ‑> bool
-
Expand source code
def approve(self, whom_spender: str, amount: int) -> bool: return self._token.approve(whom_spender, amount)
def balanceCheck(self, whom: str) ‑> int
-
Expand source code
def balanceCheck(self, whom: str) -> int: return self._token.balance_of(whom)
def conf(self, tokenNameOrAddress: str = None) ‑> TokenActor
-
Expand source code
def conf(self, tokenNameOrAddress: str = None) -> "TokenActor": head = tokenNameOrAddress[:2] address = "" if head == "0x": address = tokenNameOrAddress elif self.engine.hasContractName(tokenNameOrAddress): address = self.engine.getAddr(tokenNameOrAddress) else: print("⚠️ Since there is no given token address, we will fail back and select the default NameClass Tc20/Ori20/Erc20") address = self.TokenAddress self._token = Tc20(self.engine, address) self._token.CallContractFee(self.engine.gas, self.engine.gasPrice).CallDebug(True).CallContractWait(self.engine.waitSec) return self
def issueCoin(self, benefit: str, count: int) ‑> NoneType
-
Expand source code
def issueCoin(self, benefit: str, count: int) -> None: self._token.mint(benefit, count)
def issueCoinWithBase(self, benefit: str, one: int) ‑> NoneType
-
Expand source code
def issueCoinWithBase(self, benefit: str, one: int) -> None: self._token.mint(benefit, one * self.engine.one)
def removeMinter(self, whom: str) ‑> NoneType
-
Expand source code
def removeMinter(self, whom: str) -> None: self._token.remove_minter(whom)
def transfer(self, owner: str, amount: int) ‑> bool
-
Expand source code
def transfer(self, owner: str, amount: int) -> bool: return self._token.transfer(owner, amount)