forked from TrueCloudLab/frostfs-testlib
Implemented neofs-go, neo-go, neofs-authmate lib
This commit is contained in:
parent
d3e5ee2231
commit
c48f7b7ff2
25 changed files with 2306 additions and 0 deletions
243
cli/go/nep17.py
Normal file
243
cli/go/nep17.py
Normal file
|
@ -0,0 +1,243 @@
|
|||
from typing import List, Optional
|
||||
|
||||
from cli.cli_command import NeofsCliCommand
|
||||
from shell import CommandResult
|
||||
|
||||
|
||||
class NeoGoNep17(NeofsCliCommand):
|
||||
def balance(
|
||||
self,
|
||||
address: str,
|
||||
token: str,
|
||||
rpc_endpoint: str,
|
||||
wallet: Optional[str] = None,
|
||||
wallet_config: Optional[str] = None,
|
||||
timeout: int = 10,
|
||||
) -> CommandResult:
|
||||
"""Get address balance
|
||||
|
||||
Args:
|
||||
address (str): Address to use
|
||||
wallet (str): Target location of the wallet file ('-' to read from stdin);
|
||||
conflicts with --wallet-config flag.
|
||||
wallet_config (str): Target location of the wallet config file;
|
||||
conflicts with --wallet flag.
|
||||
token (str): Token to use (hash or name (for NEO/GAS or imported tokens))
|
||||
rpc_endpoint (str): RPC node address
|
||||
timeout (int): Timeout for the operation (default: 10s)
|
||||
|
||||
Returns:
|
||||
str: Command string
|
||||
|
||||
"""
|
||||
assert bool(wallet) ^ bool(wallet_config), self.WALLET_SOURCE_ERROR_MSG
|
||||
|
||||
return self._execute(
|
||||
"wallet nep17 balance",
|
||||
**{
|
||||
param: param_value
|
||||
for param, param_value in locals().items()
|
||||
if param not in ["self"]
|
||||
}
|
||||
)
|
||||
|
||||
def import_token(
|
||||
self,
|
||||
address: str,
|
||||
wallet: Optional[str] = None,
|
||||
wallet_config: Optional[str] = None,
|
||||
token: Optional[str] = None,
|
||||
rpc_endpoint: Optional[str] = None,
|
||||
timeout: int = 10,
|
||||
) -> CommandResult:
|
||||
"""import NEP-17 token to a wallet
|
||||
|
||||
Args:
|
||||
address (str): Token contract address or hash in LE
|
||||
wallet (str): Target location of the wallet file ('-' to read from stdin);
|
||||
conflicts with --wallet-config flag.
|
||||
wallet_config (str): Target location of the wallet config file;
|
||||
conflicts with --wallet flag.
|
||||
token (str): Token to use (hash or name (for NEO/GAS or imported tokens))
|
||||
rpc_endpoint (str): RPC node address
|
||||
timeout (int): Timeout for the operation (default: 10s)
|
||||
|
||||
Returns:
|
||||
str: Command string
|
||||
|
||||
"""
|
||||
assert bool(wallet) ^ bool(wallet_config), self.WALLET_SOURCE_ERROR_MSG
|
||||
|
||||
return self._execute(
|
||||
"wallet nep17 import",
|
||||
**{
|
||||
param: param_value
|
||||
for param, param_value in locals().items()
|
||||
if param not in ["self"]
|
||||
}
|
||||
)
|
||||
|
||||
def info(
|
||||
self,
|
||||
token: str,
|
||||
wallet: Optional[str] = None,
|
||||
wallet_config: Optional[str] = None,
|
||||
) -> CommandResult:
|
||||
"""print imported NEP-17 token info
|
||||
|
||||
Args:
|
||||
wallet (str): Target location of the wallet file ('-' to read from stdin);
|
||||
conflicts with --wallet-config flag.
|
||||
wallet_config (str): Target location of the wallet config file;
|
||||
conflicts with --wallet flag.
|
||||
token (str): Token to use (hash or name (for NEO/GAS or imported tokens))
|
||||
|
||||
Returns:
|
||||
str: Command string
|
||||
|
||||
"""
|
||||
assert bool(wallet) ^ bool(wallet_config), self.WALLET_SOURCE_ERROR_MSG
|
||||
|
||||
return self._execute(
|
||||
"wallet nep17 info",
|
||||
**{
|
||||
param: param_value
|
||||
for param, param_value in locals().items()
|
||||
if param not in ["self"]
|
||||
}
|
||||
)
|
||||
|
||||
def remove(
|
||||
self,
|
||||
token: str,
|
||||
wallet: Optional[str] = None,
|
||||
wallet_config: Optional[str] = None,
|
||||
force: bool = False,
|
||||
) -> CommandResult:
|
||||
"""remove NEP-17 token from the wallet
|
||||
|
||||
Args:
|
||||
wallet (str): Target location of the wallet file ('-' to read from stdin);
|
||||
conflicts with --wallet-config flag.
|
||||
wallet_config (str): Target location of the wallet config file;
|
||||
conflicts with --wallet flag.
|
||||
token (str): Token to use (hash or name (for NEO/GAS or imported tokens))
|
||||
force (bool): Do not ask for a confirmation
|
||||
|
||||
Returns:
|
||||
str: Command string
|
||||
|
||||
"""
|
||||
return self._execute(
|
||||
"wallet nep17 remove",
|
||||
**{
|
||||
param: param_value
|
||||
for param, param_value in locals().items()
|
||||
if param not in ["self"]
|
||||
}
|
||||
)
|
||||
|
||||
def transfer(
|
||||
self,
|
||||
token: str,
|
||||
to_address: str,
|
||||
sysgas: float,
|
||||
rpc_endpoint: str,
|
||||
wallet: Optional[str] = None,
|
||||
wallet_config: Optional[str] = None,
|
||||
out: Optional[str] = None,
|
||||
from_address: Optional[str] = None,
|
||||
force: bool = False,
|
||||
gas: Optional[float] = None,
|
||||
amount: float = 0,
|
||||
timeout: int = 10,
|
||||
) -> CommandResult:
|
||||
"""Transfers specified NEP-17 token amount with optional 'data' parameter and cosigners
|
||||
list attached to the transfer. See 'contract testinvokefunction' documentation
|
||||
for the details about 'data' parameter and cosigners syntax. If no 'data' is
|
||||
given then default nil value will be used. If no cosigners are given then the
|
||||
sender with CalledByEntry scope will be used as the only signer.
|
||||
|
||||
Args:
|
||||
wallet (str): Target location of the wallet file ('-' to read from stdin);
|
||||
conflicts with --wallet-config flag.
|
||||
wallet_config (str): Target location of the wallet config file;
|
||||
conflicts with --wallet flag.
|
||||
out (str): file to put JSON transaction to
|
||||
from_address (str): Address to send an asset from
|
||||
to_address (str): Address to send an asset to
|
||||
token (str): Token to use (hash or name (for NEO/GAS or imported tokens))
|
||||
force (bool): Do not ask for a confirmation
|
||||
gas (float): network fee to add to the transaction (prioritizing it)
|
||||
sysgas (float): system fee to add to transaction (compensating for execution)
|
||||
force (bool): Do not ask for a confirmation
|
||||
amount (float) Amount of asset to send
|
||||
rpc_endpoint (str): RPC node address
|
||||
timeout (int): Timeout for the operation (default: 10s)
|
||||
|
||||
|
||||
Returns:
|
||||
str: Command string
|
||||
|
||||
"""
|
||||
assert bool(wallet) ^ bool(wallet_config), self.WALLET_SOURCE_ERROR_MSG
|
||||
|
||||
return self._execute(
|
||||
"wallet nep17 transfer",
|
||||
**{
|
||||
param: param_value
|
||||
for param, param_value in locals().items()
|
||||
if param not in ["self"]
|
||||
}
|
||||
)
|
||||
|
||||
def multitransfer(
|
||||
self,
|
||||
token: str,
|
||||
to_address: List[str],
|
||||
sysgas: float,
|
||||
rpc_endpoint: str,
|
||||
wallet: Optional[str] = None,
|
||||
wallet_config: Optional[str] = None,
|
||||
out: Optional[str] = None,
|
||||
from_address: Optional[str] = None,
|
||||
force: bool = False,
|
||||
gas: Optional[float] = None,
|
||||
amount: float = 0,
|
||||
|
||||
timeout: int = 10,
|
||||
) -> CommandResult:
|
||||
"""transfer NEP-17 tokens to multiple recipients
|
||||
|
||||
Args:
|
||||
wallet (str): Target location of the wallet file ('-' to read from stdin);
|
||||
conflicts with --wallet-config flag.
|
||||
wallet_config (str): Target location of the wallet config file;
|
||||
conflicts with --wallet flag.
|
||||
out (str): file to put JSON transaction to
|
||||
from_address (str): Address to send an asset from
|
||||
to_address (str): Address to send an asset to
|
||||
token (str): Token to use (hash or name (for NEO/GAS or imported tokens))
|
||||
force (bool): Do not ask for a confirmation
|
||||
gas (float): network fee to add to the transaction (prioritizing it)
|
||||
sysgas (float): system fee to add to transaction (compensating for execution)
|
||||
force (bool): Do not ask for a confirmation
|
||||
amount (float) Amount of asset to send
|
||||
rpc_endpoint (str): RPC node address
|
||||
timeout (int): Timeout for the operation (default: 10s)
|
||||
|
||||
|
||||
Returns:
|
||||
str: Command string
|
||||
|
||||
"""
|
||||
assert bool(wallet) ^ bool(wallet_config), self.WALLET_SOURCE_ERROR_MSG
|
||||
|
||||
return self._execute(
|
||||
"wallet nep17 multitransfer",
|
||||
**{
|
||||
param: param_value
|
||||
for param, param_value in locals().items()
|
||||
if param not in ["self"]
|
||||
}
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue