Closed (moved)
chainmaker/utils/evm_utils.py的小问题
chainmaker/utils/evm_utils.py文件中: input_values.append(int(value) if 'int' in key else value) 如果参数是uint256[]类型会报错。 int() 不能对数组进行
def calc_evm_method_params(method: str, params: list) -> tuple:
    """
    转换EVM合约方法及参数
    :param method: 合约方法
    :param params: 参数列表 eg. [{"uint256": "10000"}, {"address": "0xa166c92f4c8118905ad984919dc683a7bdb295c1"}]
    :return: 转换后的方法及参数
    """
    input_types, input_values = [], []
    for item in params:
        for key, value in item.items():
            input_types.append(key)
            input_values.append(int(value) if 'int' in key else value)
    
    sig = '%s(%s)' % (method, ','.join(input_types))
    method_id = keccak_256_encrypt(sig)[:8]
    data = method_id + encode_abi(tuple(input_types), tuple(input_values)).hex()
    return method_id, dict(data=data)