Gnosis-Safe
為原生鏈代幣(MATIC/ETH)創建多發交易
我正在使用 ’ 建立一個多發送事務
safe-core-sdk
,然後將使用safe-service-client
’proposeTransaction
方法提出該事務。我目前可以通過使用以下邏輯建構事務,然後使用核心 sdk 方法創建此事務,來為已部署的 ERC20 執行此操作
createTransaction
:const transferActions: MetaTransactionData[] = transfers.map( (transfer) => ({ to: transfer.tokenAddress, value: '0', data: this.getTransferData(transfer.recipientAddress, transfer.tokenAmount), operation: 0 }) )
where
this.getTransferData
得到編碼的函式數據,如下所示:private getTransferData(address: string, amount: number) { const contractFunctionData = new ethers.Contract(this.tokenAddress, abi) return contractFunctionData.interface.encodeFunctionData('transfer', [ address, parseUnits(amount.toString()) ]) }
我將如何為鏈上的原生代幣做類似的事情?就我而言,我正在嘗試建立一個多發送交易,它將 Polygon 網路上的 MATIC 發送到多個地址。我是否需要獲取原生 MATIC 令牌的 ABI 和地址,並遵循相同的步驟?
value
property 是本機令牌的值。所以對於原生代幣轉賬,你需要將to
屬性指定為收件人的地址,並且value
是你要發送的原生代幣的數量。