@@ -18,12 +18,19 @@ public static class EIP712
1818 {
1919 /// SIGNATURE GENERATION ///
2020
21- public async static Task < string > GenerateSignature_TokenERC20 ( string domainName , string version , BigInteger chainId , string verifyingContract , TokenERC20Contract . MintRequest mintRequest )
21+ public async static Task < string > GenerateSignature_TokenERC20 (
22+ string domainName ,
23+ string version ,
24+ BigInteger chainId ,
25+ string verifyingContract ,
26+ TokenERC20Contract . MintRequest mintRequest ,
27+ string privateKeyOverride = null
28+ )
2229 {
23- if ( ThirdwebManager . Instance . SDK . nativeSession . account != null )
30+ if ( privateKeyOverride != null || ThirdwebManager . Instance . SDK . nativeSession . account != null )
2431 {
2532 var signer = new Eip712TypedDataSigner ( ) ;
26- var key = new EthECKey ( ThirdwebManager . Instance . SDK . nativeSession . account . PrivateKey ) ;
33+ var key = new EthECKey ( privateKeyOverride ?? ThirdwebManager . Instance . SDK . nativeSession . account . PrivateKey ) ;
2734 var typedData = GetTypedDefinition_TokenERC20 ( domainName , version , chainId , verifyingContract ) ;
2835 var signature = signer . SignTypedDataV4 ( mintRequest , typedData , key ) ;
2936 return signature ;
@@ -89,12 +96,19 @@ public class ERC20MintRequestBaseWalletConnect
8996 public virtual string Uid { get ; set ; }
9097 }
9198
92- public async static Task < string > GenerateSignature_TokenERC721 ( string domainName , string version , BigInteger chainId , string verifyingContract , TokenERC721Contract . MintRequest mintRequest )
99+ public async static Task < string > GenerateSignature_TokenERC721 (
100+ string domainName ,
101+ string version ,
102+ BigInteger chainId ,
103+ string verifyingContract ,
104+ TokenERC721Contract . MintRequest mintRequest ,
105+ string privateKeyOverride = null
106+ )
93107 {
94- if ( ThirdwebManager . Instance . SDK . nativeSession . account != null )
108+ if ( privateKeyOverride != null || ThirdwebManager . Instance . SDK . nativeSession . account != null )
95109 {
96110 var signer = new Eip712TypedDataSigner ( ) ;
97- var key = new EthECKey ( ThirdwebManager . Instance . SDK . nativeSession . account . PrivateKey ) ;
111+ var key = new EthECKey ( privateKeyOverride ?? ThirdwebManager . Instance . SDK . nativeSession . account . PrivateKey ) ;
98112 var typedData = GetTypedDefinition_TokenERC721 ( domainName , version , chainId , verifyingContract ) ;
99113 var signature = signer . SignTypedDataV4 ( mintRequest , typedData , key ) ;
100114 return signature ;
@@ -161,12 +175,19 @@ public class ERC721MintRequestBaseWalletConnect
161175 public virtual string Uid { get ; set ; }
162176 }
163177
164- public async static Task < string > GenerateSignature_TokenERC1155 ( string domainName , string version , BigInteger chainId , string verifyingContract , TokenERC1155Contract . MintRequest mintRequest )
178+ public async static Task < string > GenerateSignature_TokenERC1155 (
179+ string domainName ,
180+ string version ,
181+ BigInteger chainId ,
182+ string verifyingContract ,
183+ TokenERC1155Contract . MintRequest mintRequest ,
184+ string privateKeyOverride = null
185+ )
165186 {
166- if ( ThirdwebManager . Instance . SDK . nativeSession . account != null )
187+ if ( privateKeyOverride != null || ThirdwebManager . Instance . SDK . nativeSession . account != null )
167188 {
168189 var signer = new Eip712TypedDataSigner ( ) ;
169- var key = new EthECKey ( ThirdwebManager . Instance . SDK . nativeSession . account . PrivateKey ) ;
190+ var key = new EthECKey ( privateKeyOverride ?? ThirdwebManager . Instance . SDK . nativeSession . account . PrivateKey ) ;
170191 var typedData = GetTypedDefinition_TokenERC1155 ( domainName , version , chainId , verifyingContract ) ;
171192 var signature = signer . SignTypedDataV4 ( mintRequest , typedData , key ) ;
172193 return signature ;
@@ -298,13 +319,14 @@ public async static Task<string> GenerateSignature_MinimalForwarder(
298319 string version ,
299320 BigInteger chainId ,
300321 string verifyingContract ,
301- MinimalForwarder . ForwardRequest forwardRequest
322+ MinimalForwarder . ForwardRequest forwardRequest ,
323+ string privateKeyOverride = null
302324 )
303325 {
304- if ( ThirdwebManager . Instance . SDK . nativeSession . account != null )
326+ if ( privateKeyOverride != null || ThirdwebManager . Instance . SDK . nativeSession . account != null )
305327 {
306328 var signer = new Eip712TypedDataSigner ( ) ;
307- var key = new EthECKey ( ThirdwebManager . Instance . SDK . nativeSession . account . PrivateKey ) ;
329+ var key = new EthECKey ( privateKeyOverride ?? ThirdwebManager . Instance . SDK . nativeSession . account . PrivateKey ) ;
308330 var typedData = GetTypedDefinition_MinimalForwarder ( domainName , version , chainId , verifyingContract ) ;
309331 var signature = signer . SignTypedDataV4 ( forwardRequest , typedData , key ) ;
310332 return signature ;
0 commit comments