Esempio n. 1
0
def sets_asset(contract_address: str, asset_id: str, amount: str):
    asset, domain = asset_id.split("#")
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"setsAsset(string,string,string,string,string)")
    no_of_param = 5
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        asset)  # asset name
    params = params + integration_helpers.argument_encoding(
        domain)  # domain name
    params = params + integration_helpers.argument_encoding("4")  #  precision
    params = params + integration_helpers.argument_encoding(
        asset_id)  # asset id
    params = params + integration_helpers.argument_encoding(
        amount)  # domain name
    tx = iroha_admin.transaction([
        iroha_admin.command(
            "CallEngine",
            caller=ADMIN_ACCOUNT_ID,
            callee=contract_address,
            input=params,
        )
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
Esempio n. 2
0
def create_account(address):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"createAccount(string,string,string)")
    no_of_param = 3
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        "test")  # source account id
    params = params + integration_helpers.argument_encoding(
        "burrow")  # domain id
    params = params + integration_helpers.argument_encoding(
        test_public_key)  #  key
    tx = iroha.transaction([
        iroha.command("CallEngine",
                      caller=ADMIN_ACCOUNT_ID,
                      callee=address,
                      input=params)
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
    hex_hash = binascii.hexlify(IrohaCrypto.hash(tx))
    return hex_hash
Esempio n. 3
0
def transfer(address):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"transferAsset(string,string,string,string,string)")
    no_of_param = 5
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        ADMIN_ACCOUNT_ID)  # source account
    params = params + integration_helpers.argument_encoding(
        "userone@domain")  # destination account
    params = params + integration_helpers.argument_encoding(
        "coin#domain")  # asset id
    params = params + integration_helpers.argument_encoding(
        "transfer")  # description
    params = params + integration_helpers.argument_encoding(
        "100")  # amount of asset
    tx = iroha.transaction([
        iroha.command("CallEngine",
                      caller=ADMIN_ACCOUNT_ID,
                      callee=address,
                      input=params)
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
Esempio n. 4
0
def set_account_detail(address):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"setAccountDetail(string,string,string)")
    no_of_param = 3
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        ADMIN_ACCOUNT_ID)  # source account id
    params = params + integration_helpers.argument_encoding(
        "university")  # key
    params = params + integration_helpers.argument_encoding("MIT")  #  value
    tx = iroha.transaction([
        iroha.command("CallEngine",
                      caller=ADMIN_ACCOUNT_ID,
                      callee=address,
                      input=params)
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    print(response)
    for status in net.tx_status_stream(tx):
        print(status)
    hex_hash = binascii.hexlify(IrohaCrypto.hash(tx))
    return hex_hash
Esempio n. 5
0
def get_transactions(address, txs_hashes):
    params = integration_helpers.get_first_four_bytes_of_keccak(b'getTransactions(string)')
    no_of_param = 1
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(x, no_of_param)
    params = params + integration_helpers.argument_encoding(txs_hashes)  # tx hashes
    tx = iroha.transaction(
        [
            iroha.command(
                "CallEngine", caller=ADMIN_ACCOUNT_ID, callee = address, input = params
            )
        ]
    )
    return send_transaction_and_print_status(tx)
Esempio n. 6
0
def get_roles(address):
    params = integration_helpers.get_first_four_bytes_of_keccak(b"getRoles()")
    no_of_param = 0
    tx = iroha.transaction([
        iroha.command("CallEngine",
                      caller=ADMIN_ACCOUNT_ID,
                      callee=address,
                      input=params)
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
    hex_hash = binascii.hexlify(IrohaCrypto.hash(tx))
    return hex_hash
Esempio n. 7
0
def get_account_details(contract_address: str, user_account: str):
    iroha_user = Iroha(user_account)
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"getAccountDetail()")
    no_of_param = 0
    tx = iroha_user.transaction([
        iroha_user.command("CallEngine",
                           caller=user_account,
                           callee=contract_address,
                           input=params)
    ])
    IrohaCrypto.sign_transaction(tx, user_private_key)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
    hex_hash = binascii.hexlify(IrohaCrypto.hash(tx))
    return hex_hash
Esempio n. 8
0
def get_account_transactions(address, first_tx_height = None, last_tx_height = None, ordering_str = None):
    params = integration_helpers.get_first_four_bytes_of_keccak(b'getAccountTransactions(string,string,string,string,string,string,string,string)')
    no_of_param = 8
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(x, no_of_param)
    params = params + integration_helpers.argument_encoding(ADMIN_ACCOUNT_ID)  # account id
    params = params + integration_helpers.argument_encoding('1')  # page size
    params = params + integration_helpers.argument_encoding('')  # first_tx_hash
    params = params + integration_helpers.argument_encoding('')  # first_tx_time
    params = params + integration_helpers.argument_encoding('')  # last_tx_time
    params = params + integration_helpers.argument_encoding(str(first_tx_height))  # first_tx_height
    params = params + integration_helpers.argument_encoding(str(last_tx_height))  # last_tx_height
    params = params + integration_helpers.argument_encoding(ordering_str)  # ordering
    tx = iroha.transaction(
        [
            iroha.command(
                "CallEngine", caller=ADMIN_ACCOUNT_ID, callee = address, input = params
            )
        ]
    )
    return send_transaction_and_print_status(tx)
Esempio n. 9
0
def get_block(address):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"getBlock(string)")
    no_of_param = 1
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        "10")  # block height
    tx = iroha.transaction([
        iroha.command("CallEngine",
                      caller=ADMIN_ACCOUNT_ID,
                      callee=address,
                      input=params)
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
    hex_hash = binascii.hexlify(IrohaCrypto.hash(tx))
    return hex_hash
Esempio n. 10
0
def add_asset_quantity(address):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"addAssetQuantity(string,string)")
    no_of_param = 2
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        "coin#domain")  # asset id
    params = params + integration_helpers.argument_encoding(
        "500")  # amount of asset
    tx = iroha.transaction([
        iroha.command("CallEngine",
                      caller=ADMIN_ACCOUNT_ID,
                      callee=address,
                      input=params)
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
Esempio n. 11
0
def compare_account_det(address, key, value):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b'compareAndSetAccountDetail(string,string,string,string,string)')
    no_of_param = 5
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        ADMIN_ACCOUNT_ID)  # account
    params = params + integration_helpers.argument_encoding(key)  # key
    params = params + integration_helpers.argument_encoding(value)  # value
    params = params + integration_helpers.argument_encoding('')  # key
    # accepted values to check empty: 1, t, T, TRUE, true, True, 0, f, F, FALSE, false, False
    params = params + integration_helpers.argument_encoding('TRUE')  # key
    tx = iroha.transaction([
        iroha.command("CallEngine",
                      caller=ADMIN_ACCOUNT_ID,
                      callee=address,
                      input=params)
    ])
    return send_transaction_and_print_status(tx)
Esempio n. 12
0
def create_and_setup_account(contract_address: str):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"createAndSetupAccount(string,string,string,string,string,string,string,string,string,string)"
    )
    no_of_param = 10
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        ADMIN_ACCOUNT_ID)  # admin account id
    params = params + integration_helpers.argument_encoding(
        user_account_short_id)  # user account name
    params = params + integration_helpers.argument_encoding(
        user_account_full_id)  #  user account id
    params = params + integration_helpers.argument_encoding(
        ASSET_ID)  #  asset id
    params = params + integration_helpers.argument_encoding(
        DOMAIN)  #  domain name
    params = params + integration_helpers.argument_encoding(
        "set up balance")  #  description
    params = params + integration_helpers.argument_encoding("100")  #  amount
    params = params + integration_helpers.argument_encoding(
        "mail")  #  key for user detail
    params = params + integration_helpers.argument_encoding(
        user_mail)  #  value for user detail
    params = params + integration_helpers.argument_encoding(
        user_public_key)  #  public key of user
    tx = iroha_admin.transaction([
        iroha_admin.command(
            "CallEngine",
            caller=ADMIN_ACCOUNT_ID,
            callee=contract_address,
            input=params,
        )
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
Esempio n. 13
0
def create_role(adress, role_name, permissions):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"createRole(string,string)")
    no_of_param = 2
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(role_name)  # role
    params = params + integration_helpers.argument_encoding(
        permissions)  # permissions (json formatted)
    tx = iroha.transaction([
        iroha.command("CallEngine",
                      caller=ADMIN_ACCOUNT_ID,
                      callee=address,
                      input=params)
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
    hex_hash = binascii.hexlify(IrohaCrypto.hash(tx))
    return hex_hash
Esempio n. 14
0
File: role.py Progetto: Cre-eD/iroha
def detach_role(address):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"detachRole(string,string)")
    no_of_param = 2
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        "test@burrow")  # account id
    params = params + integration_helpers.argument_encoding(
        "money_creator")  # role id
    tx = iroha.transaction([
        iroha.command("CallEngine",
                      caller=ADMIN_ACCOUNT_ID,
                      callee=address,
                      input=params)
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
    hex_hash = binascii.hexlify(IrohaCrypto.hash(tx))
    return hex_hash
Esempio n. 15
0
def balance(address: str, user_id: str):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"queryBalance(string,string)")
    no_of_param = 2
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        user_id)  # account id
    params = params + integration_helpers.argument_encoding(
        ASSET_ID)  # asset id
    tx = iroha_admin.transaction([
        iroha_admin.command("CallEngine",
                            caller=ADMIN_ACCOUNT_ID,
                            callee=address,
                            input=params)
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
    hex_hash = binascii.hexlify(IrohaCrypto.hash(tx))
    return hex_hash
Esempio n. 16
0
def revoke_permission(adress, permission):
    params = integration_helpers.get_first_four_bytes_of_keccak(
        b"revokePermission(string,string)")
    no_of_param = 2
    for x in range(no_of_param):
        params = params + integration_helpers.left_padded_address_of_param(
            x, no_of_param)
    params = params + integration_helpers.argument_encoding(
        ADMIN_ACCOUNT_ID)  # account id
    params = params + integration_helpers.argument_encoding(
        permission)  # permission
    tx = iroha.transaction([
        iroha.command("CallEngine",
                      caller=ADMIN_ACCOUNT_ID,
                      callee=address,
                      input=params)
    ])
    IrohaCrypto.sign_transaction(tx, ADMIN_PRIVATE_KEY)
    response = net.send_tx(tx)
    for status in net.tx_status_stream(tx):
        print(status)
    hex_hash = binascii.hexlify(IrohaCrypto.hash(tx))
    return hex_hash