Skip to content

Commit 153717d

Browse files
committed
Wagmi writeContract
1 parent 1407dfe commit 153717d

2 files changed

Lines changed: 32 additions & 0 deletions

File tree

Packages/com.walletconnect.web3modal/Runtime/WebGL/Wagmi/WagmiInterop.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,28 @@ public static Task<string> ReadContractAsync(ReadContractParameter parameter)
178178
{
179179
return InteropCallAsync<ReadContractParameter, string>(WagmiMethods.ReadContract, parameter);
180180
}
181+
182+
183+
// -- Write Contract ------------------------------------------
184+
185+
public static Task<string> WriteContractAsync(string contractAddress, string contractAbi, string method, string[] arguments = null, string value = "0")
186+
{
187+
var parameter = new WriteContractParameter
188+
{
189+
address = contractAddress,
190+
abi = JsonConvert.DeserializeObject<AbiItem[]>(contractAbi),
191+
functionName = method,
192+
args = arguments,
193+
value = value,
194+
};
195+
196+
return WriteContractAsync(parameter);
197+
}
198+
199+
public static Task<string> WriteContractAsync(WriteContractParameter parameter)
200+
{
201+
return InteropCallAsync<WriteContractParameter, string>(WagmiMethods.WriteContract, parameter);
202+
}
181203

182204

183205
// -- Send Transaction ----------------------------------------

Packages/com.walletconnect.web3modal/Runtime/WebGL/Wagmi/WagmiModel.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,16 @@ public class ReadContractParameter
8383
public string functionName;
8484
public string[] args;
8585
}
86+
87+
[Serializable]
88+
public class WriteContractParameter
89+
{
90+
public AbiItem[] abi;
91+
public string address;
92+
public string functionName;
93+
public string[] args;
94+
public string value;
95+
}
8696

8797
[Serializable]
8898
public struct AbiItem

0 commit comments

Comments
 (0)