如何从合同中使用 app.compound.finance repayBehalf?

Posted

技术标签:

【中文标题】如何从合同中使用 app.compound.finance repayBehalf?【英文标题】:how to use app.compound.finance repayBehalf from contract? 【发布时间】:2021-07-14 07:41:48 【问题描述】:

我无法偿还; repayAmount 始终为 0: etherscan

这是我手动完成的网站:etherscan

我什至无法偿还借款

    symbol ='cETH'
    abi_url = "https://raw.githubusercontent.com/compound-finance/compound-protocol/master/networks/kovan-abi.json"
    kovan_json = "https://raw.githubusercontent.com/compound-finance/compound-protocol/master/networks/kovan.json"
    abi = requests.get(abi_url).json()["Maximillion"]
    contract_address = requests.get(kovan_json).json()['Maximillion']['address']
    compound_token_contract = w3.eth.contract(abi=abi, address=Web3.toChecksumAddress(contract_address))
    nonce = w3.eth.getTransactionCount(ETH_ADDRESS)
    tx = compound_token_contract.functions.repayBehalf( ETH_ADDRESS ).buildTransaction(
        'chainId': 42,
        'gas': 500000,
        'gasPrice': w3.toWei('20', 'gwei'),
        'nonce': nonce,
        # 'repayAmount ': "-1"
    )
    signed_txn = w3.eth.account.sign_transaction(tx, ETH_ACCT_KEY)
    w3.eth.sendRawTransaction(signed_txn.rawTransaction) 

这是交易创建者,我卡住了

contract's .sol文件here

【问题讨论】:

【参考方案1】:

我通过将# 'repayAmount ': "-1" 行更改为"value": 1 来修复它

【讨论】:

以上是关于如何从合同中使用 app.compound.finance repayBehalf?的主要内容,如果未能解决你的问题,请参考以下文章

自托管 WCF 服务:如何从托管应用程序访问实现服务合同的对象?

WCF 如何从 wsdl 和 xsd 生成服务 - 合同优先

如何在数据合同 WCF 中使用枚举

如何做好工程合同中的变更管理

从批准合同中估算 ETH 中的 gas

是否可以修改另一个合同中的变量值?