@@ -18,12 +18,19 @@ public static class EIP712
18
18
{
19
19
/// SIGNATURE GENERATION ///
20
20
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
+ )
22
29
{
23
- if ( ThirdwebManager . Instance . SDK . nativeSession . account != null )
30
+ if ( privateKeyOverride != null || ThirdwebManager . Instance . SDK . nativeSession . account != null )
24
31
{
25
32
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 ) ;
27
34
var typedData = GetTypedDefinition_TokenERC20 ( domainName , version , chainId , verifyingContract ) ;
28
35
var signature = signer . SignTypedDataV4 ( mintRequest , typedData , key ) ;
29
36
return signature ;
@@ -89,12 +96,19 @@ public class ERC20MintRequestBaseWalletConnect
89
96
public virtual string Uid { get ; set ; }
90
97
}
91
98
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
+ )
93
107
{
94
- if ( ThirdwebManager . Instance . SDK . nativeSession . account != null )
108
+ if ( privateKeyOverride != null || ThirdwebManager . Instance . SDK . nativeSession . account != null )
95
109
{
96
110
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 ) ;
98
112
var typedData = GetTypedDefinition_TokenERC721 ( domainName , version , chainId , verifyingContract ) ;
99
113
var signature = signer . SignTypedDataV4 ( mintRequest , typedData , key ) ;
100
114
return signature ;
@@ -161,12 +175,19 @@ public class ERC721MintRequestBaseWalletConnect
161
175
public virtual string Uid { get ; set ; }
162
176
}
163
177
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
+ )
165
186
{
166
- if ( ThirdwebManager . Instance . SDK . nativeSession . account != null )
187
+ if ( privateKeyOverride != null || ThirdwebManager . Instance . SDK . nativeSession . account != null )
167
188
{
168
189
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 ) ;
170
191
var typedData = GetTypedDefinition_TokenERC1155 ( domainName , version , chainId , verifyingContract ) ;
171
192
var signature = signer . SignTypedDataV4 ( mintRequest , typedData , key ) ;
172
193
return signature ;
@@ -298,13 +319,14 @@ public async static Task<string> GenerateSignature_MinimalForwarder(
298
319
string version ,
299
320
BigInteger chainId ,
300
321
string verifyingContract ,
301
- MinimalForwarder . ForwardRequest forwardRequest
322
+ MinimalForwarder . ForwardRequest forwardRequest ,
323
+ string privateKeyOverride = null
302
324
)
303
325
{
304
- if ( ThirdwebManager . Instance . SDK . nativeSession . account != null )
326
+ if ( privateKeyOverride != null || ThirdwebManager . Instance . SDK . nativeSession . account != null )
305
327
{
306
328
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 ) ;
308
330
var typedData = GetTypedDefinition_MinimalForwarder ( domainName , version , chainId , verifyingContract ) ;
309
331
var signature = signer . SignTypedDataV4 ( forwardRequest , typedData , key ) ;
310
332
return signature ;
0 commit comments