Skip to content

Commit b48b600

Browse files
authored
Expose forwarder domain and version (#61)
1 parent c6e7165 commit b48b600

File tree

3 files changed

+24
-8
lines changed

3 files changed

+24
-8
lines changed

Assets/Thirdweb/Core/Scripts/ThirdwebSDK.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ public struct OZDefenderOptions
6666
{
6767
public string relayerUrl;
6868
public string relayerForwarderAddress;
69+
public string domainName;
70+
public string domainVersion;
6971
}
7072

7173
/// <summary>

Assets/Thirdweb/Core/Scripts/TransactionManager.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,13 @@ public static async Task<TransactionReceipt> ThirdwebWriteRawResult<TWFunction>(
5252
if (ThirdwebManager.Instance.SDK.nativeSession.options.gasless != null && ThirdwebManager.Instance.SDK.nativeSession.options.gasless.Value.openzeppelin != null)
5353
{
5454
string relayerUrl = ThirdwebManager.Instance.SDK.nativeSession.options.gasless.Value.openzeppelin?.relayerUrl;
55-
string relayerForwarderAddress = ThirdwebManager.Instance.SDK.nativeSession.options.gasless.Value.openzeppelin?.relayerForwarderAddress;
55+
string forwarderAddress = ThirdwebManager.Instance.SDK.nativeSession.options.gasless.Value.openzeppelin?.relayerForwarderAddress;
56+
string forwarderDomain = ThirdwebManager.Instance.SDK.nativeSession.options.gasless.Value.openzeppelin?.domainName;
57+
string forwarderVersion = ThirdwebManager.Instance.SDK.nativeSession.options.gasless.Value.openzeppelin?.domainVersion;
5658

5759
functionMessage.Nonce = (
5860
await ThirdwebRead<MinimalForwarder.GetNonceFunction, MinimalForwarder.GetNonceOutputDTO>(
59-
relayerForwarderAddress,
61+
forwarderAddress,
6062
new MinimalForwarder.GetNonceFunction() { From = functionMessage.FromAddress }
6163
)
6264
).ReturnValue1;
@@ -71,9 +73,9 @@ public static async Task<TransactionReceipt> ThirdwebWriteRawResult<TWFunction>(
7173
Data = functionMessage.GetCallData().ByteArrayToHexString()
7274
};
7375

74-
var signature = await EIP712.GenerateSignature_MinimalForwarder("GSNv2 Forwarder", "0.0.1", ThirdwebManager.Instance.SDK.nativeSession.lastChainId, relayerForwarderAddress, request);
76+
var signature = await EIP712.GenerateSignature_MinimalForwarder(forwarderDomain, forwarderVersion, ThirdwebManager.Instance.SDK.nativeSession.lastChainId, forwarderAddress, request);
7577

76-
var postData = new RelayerRequest(request, signature, relayerForwarderAddress);
78+
var postData = new RelayerRequest(request, signature, forwarderAddress);
7779

7880
string txHash = null;
7981

@@ -87,7 +89,7 @@ public static async Task<TransactionReceipt> ThirdwebWriteRawResult<TWFunction>(
8789
if (req.result != UnityWebRequest.Result.Success)
8890
{
8991
throw new UnityException(
90-
$"Forward Request Failed!\nError: {req.downloadHandler.text}\nRelayer URL: {relayerUrl}\nRelayer Forwarder Address: {relayerForwarderAddress}\nRequest: {request}\nSignature: {signature}\nPost Data: {postData}"
92+
$"Forward Request Failed!\nError: {req.downloadHandler.text}\nRelayer URL: {relayerUrl}\nRelayer Forwarder Address: {forwarderAddress}\nRequest: {request}\nSignature: {signature}\nPost Data: {postData}"
9193
);
9294
}
9395
else

Assets/Thirdweb/Examples/Scripts/Prefabs/ThirdwebManager.cs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,13 @@ public class ThirdwebManager : MonoBehaviour
5858
public string relayerUrl = null;
5959

6060
[Tooltip("Forwarders can be found here https://github.com/thirdweb-dev/ozdefender-autotask")]
61-
public string relayerForwarderAddress = null;
61+
public string forwarderAddress = null;
62+
63+
[Tooltip("Forwarder Domain Override (Defaults to GSNv2 Forwarder if left empty)")]
64+
public string forwarderDomainOverride = null;
65+
66+
[Tooltip("Forwarder Version (Defaults to 0.0.1 if left empty)")]
67+
public string forwaderVersionOverride = null;
6268

6369
public ThirdwebSDK SDK;
6470

@@ -124,11 +130,17 @@ private void Awake()
124130
{
125131
options.storage = new ThirdwebSDK.StorageOptions() { ipfsGatewayUrl = storageIpfsGatewayUrl };
126132
}
127-
if (!string.IsNullOrEmpty(relayerUrl) && !string.IsNullOrEmpty(relayerForwarderAddress))
133+
if (!string.IsNullOrEmpty(relayerUrl) && !string.IsNullOrEmpty(forwarderAddress))
128134
{
129135
options.gasless = new ThirdwebSDK.GaslessOptions()
130136
{
131-
openzeppelin = new ThirdwebSDK.OZDefenderOptions() { relayerUrl = this.relayerUrl, relayerForwarderAddress = this.relayerForwarderAddress, }
137+
openzeppelin = new ThirdwebSDK.OZDefenderOptions()
138+
{
139+
relayerUrl = this.relayerUrl,
140+
relayerForwarderAddress = this.forwarderAddress,
141+
domainName = string.IsNullOrEmpty(this.forwarderDomainOverride) ? "GSNv2 Forwarder" : this.forwarderDomainOverride,
142+
domainVersion = string.IsNullOrEmpty(this.forwaderVersionOverride) ? "0.0.1" : this.forwaderVersionOverride
143+
}
132144
};
133145
}
134146

0 commit comments

Comments
 (0)