diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml
index 6b13ef6e..f132b399 100644
--- a/.github/workflows/linter.yml
+++ b/.github/workflows/linter.yml
@@ -57,7 +57,7 @@ jobs:
VALIDATE_ALL_CODEBASE: true
DEFAULT_BRANCH: main
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- FILTER_REGEX_EXCLUDE: (.*src/Packages/Passport/Runtime/ThirdParty/.*|.*src/Packages/Passport/Runtime/Resources/.*|.*Plugins/.*|.*src/Packages/Passport/Runtime/Assets/ImmutableAndroid.androidlib/.*|.*src/Packages/Orderbook|.*sample|.*src/Packages/Passport/WebGLTemplates~|.*.github/workflows)
+ FILTER_REGEX_EXCLUDE: (.*src/Packages/Passport/Runtime/ThirdParty/.*|.*src/Packages/Passport/Runtime/Resources/.*|.*Plugins/.*|.*src/Packages/Passport/Runtime/Assets/ImmutableAndroid.androidlib/.*|.*src/Packages/Orderbook|.*src/Packages/ZkEvmApi/.*|.*sample|.*src/Packages/Passport/WebGLTemplates~|.*.github/workflows)
VALIDATE_MARKDOWN: false
VALIDATE_GITLEAKS: false
VALIDATE_JSCPD: false
diff --git a/src/Packages/Orderbook/README.md b/src/Packages/Orderbook/README.md
index 3441f4b8..55d8c669 100644
--- a/src/Packages/Orderbook/README.md
+++ b/src/Packages/Orderbook/README.md
@@ -25,8 +25,6 @@ This generator should support all current LTS versions of Unity
- [Newtonsoft.Json](https://docs.unity3d.com/Packages/com.unity.nuget.newtonsoft-json@3.0/manual/index.html) - 3.0.2 or
later
-- [Unity Test Framework](https://docs.unity3d.com/Packages/com.unity.test-framework@1.1/manual/index.html) - 1.1.33 or
- later
@@ -38,8 +36,7 @@ Add the dependencies to `Packages/manifest.json`
{
"dependencies": {
...
- "com.unity.nuget.newtonsoft-json": "3.0.2",
- "com.unity.test-framework": "1.1.33",
+ "com.unity.nuget.newtonsoft-json": "3.0.2"
}
}
```
diff --git a/src/Packages/Orderbook/package.json b/src/Packages/Orderbook/package.json
index b4b11a2b..457f711c 100644
--- a/src/Packages/Orderbook/package.json
+++ b/src/Packages/Orderbook/package.json
@@ -8,7 +8,7 @@
"url": "https://immutable.com"
},
"dependencies": {
- "com.cysharp.unitask": "2.3.3"
+ "com.unity.nuget.newtonsoft-json": "3.0.2"
},
"keywords": [
"unity",
diff --git a/src/Packages/ZkEvmApi/CHANGELOG.md b/src/Packages/ZkEvmApi/CHANGELOG.md
new file mode 100644
index 00000000..e602bd7a
--- /dev/null
+++ b/src/Packages/ZkEvmApi/CHANGELOG.md
@@ -0,0 +1,3 @@
+# Changelog
+
+Please see https://github.com/immutable/unity-immutable-sdk/releases
\ No newline at end of file
diff --git a/src/Packages/ZkEvmApi/CHANGELOG.md.meta b/src/Packages/ZkEvmApi/CHANGELOG.md.meta
new file mode 100644
index 00000000..29f12f41
--- /dev/null
+++ b/src/Packages/ZkEvmApi/CHANGELOG.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c295f6334a9d24f609c11912ef988bfd
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Documentation~/APIError400.md b/src/Packages/ZkEvmApi/Documentation~/APIError400.md
new file mode 100644
index 00000000..23ac8576
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/APIError400.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.APIError400
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Message** | **string** | Error Message |
+**Link** | **string** | Link to IMX documentation that can help resolve this error |
+**TraceId** | **string** | Trace ID of the initial request |
+**Code** | **string** | Error Code |
+**Details** | **Object** | Additional details to help resolve the error |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/APIError401.md b/src/Packages/ZkEvmApi/Documentation~/APIError401.md
new file mode 100644
index 00000000..4d9cdb59
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/APIError401.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.APIError401
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Message** | **string** | Error Message |
+**Link** | **string** | Link to IMX documentation that can help resolve this error |
+**TraceId** | **string** | Trace ID of the initial request |
+**Code** | **string** | Error Code |
+**Details** | **Object** | Additional details to help resolve the error |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/APIError403.md b/src/Packages/ZkEvmApi/Documentation~/APIError403.md
new file mode 100644
index 00000000..4d6f915b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/APIError403.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.APIError403
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Message** | **string** | Error Message |
+**Link** | **string** | Link to IMX documentation that can help resolve this error |
+**TraceId** | **string** | Trace ID of the initial request |
+**Code** | **string** | Error Code |
+**Details** | **Object** | Additional details to help resolve the error |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/APIError404.md b/src/Packages/ZkEvmApi/Documentation~/APIError404.md
new file mode 100644
index 00000000..9e52a646
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/APIError404.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.APIError404
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Message** | **string** | Error Message |
+**Link** | **string** | Link to IMX documentation that can help resolve this error |
+**TraceId** | **string** | Trace ID of the initial request |
+**Code** | **string** | Error Code |
+**Details** | **Object** | Additional details to help resolve the error |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/APIError409.md b/src/Packages/ZkEvmApi/Documentation~/APIError409.md
new file mode 100644
index 00000000..5e34a8dd
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/APIError409.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.APIError409
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Message** | **string** | Error Message |
+**Link** | **string** | Link to IMX documentation that can help resolve this error |
+**TraceId** | **string** | Trace ID of the initial request |
+**Code** | **string** | Error Code |
+**Details** | **Dictionary<string, Object>** | Additional details to help resolve the error |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/APIError429.md b/src/Packages/ZkEvmApi/Documentation~/APIError429.md
new file mode 100644
index 00000000..71653975
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/APIError429.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.APIError429
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Message** | **string** | Error Message |
+**Link** | **string** | Link to IMX documentation that can help resolve this error |
+**TraceId** | **string** | Trace ID of the initial request |
+**Code** | **string** | Error Code |
+**Details** | **Object** | Additional details to help resolve the error |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/APIError500.md b/src/Packages/ZkEvmApi/Documentation~/APIError500.md
new file mode 100644
index 00000000..ea8e0d06
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/APIError500.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.APIError500
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Message** | **string** | Error Message |
+**Link** | **string** | Link to IMX documentation that can help resolve this error |
+**TraceId** | **string** | Trace ID of the initial request |
+**Code** | **string** | Error Code |
+**Details** | **Object** | Additional details to help resolve the error |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/APIError501.md b/src/Packages/ZkEvmApi/Documentation~/APIError501.md
new file mode 100644
index 00000000..30e17064
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/APIError501.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.APIError501
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Message** | **string** | Error Message |
+**Link** | **string** | Link to IMX documentation that can help resolve this error |
+**TraceId** | **string** | Trace ID of the initial request |
+**Code** | **string** | Error Code |
+**Details** | **Object** | Additional details to help resolve the error |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ActiveOrderStatus.md b/src/Packages/ZkEvmApi/Documentation~/ActiveOrderStatus.md
new file mode 100644
index 00000000..dd925c0b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ActiveOrderStatus.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.ActiveOrderStatus
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | The order status that indicates an order can be fulfilled. |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ActivitiesApi.md b/src/Packages/ZkEvmApi/Documentation~/ActivitiesApi.md
new file mode 100644
index 00000000..d0e664b6
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ActivitiesApi.md
@@ -0,0 +1,320 @@
+# Immutable.Api.ZkEvm.Api.ActivitiesApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**GetActivity**](ActivitiesApi.md#getactivity) | **GET** /v1/chains/{chain_name}/activities/{activity_id} | Get a single activity by ID |
+| [**ListActivities**](ActivitiesApi.md#listactivities) | **GET** /v1/chains/{chain_name}/activities | List all activities |
+| [**ListActivityHistory**](ActivitiesApi.md#listactivityhistory) | **GET** /v1/chains/{chain_name}/activity-history | List history of activities |
+
+
+# **GetActivity**
+> GetActivityResult GetActivity (string chainName, Guid activityId)
+
+Get a single activity by ID
+
+Get a single activity by ID
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetActivityExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new ActivitiesApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var activityId = "activityId_example"; // Guid | The id of activity
+
+ try
+ {
+ // Get a single activity by ID
+ GetActivityResult result = apiInstance.GetActivity(chainName, activityId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling ActivitiesApi.GetActivity: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetActivityWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get a single activity by ID
+ ApiResponse response = apiInstance.GetActivityWithHttpInfo(chainName, activityId);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling ActivitiesApi.GetActivityWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **activityId** | **Guid** | The id of activity | |
+
+### Return type
+
+[**GetActivityResult**](GetActivityResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListActivities**
+> ListActivitiesResult ListActivities (string chainName, string? contractAddress = null, string? tokenId = null, string? accountAddress = null, ActivityType? activityType = null, string? transactionHash = null, string? pageCursor = null, int? pageSize = null)
+
+List all activities
+
+List all activities
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListActivitiesExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new ActivitiesApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string? | The contract address of NFT or ERC20 Token (optional)
+ var tokenId = 1; // string? | An `uint256` token id as string (optional)
+ var accountAddress = 0xe9b00a87700f660e46b6f5deaa1232836bcc07d3; // string? | The account address activity contains (optional)
+ var activityType = new ActivityType?(); // ActivityType? | The activity type (optional)
+ var transactionHash = 0x68d9eac5e3b3c3580404989a4030c948a78e1b07b2b5ea5688d8c38a6c61c93e; // string? | The transaction hash of activity (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List all activities
+ ListActivitiesResult result = apiInstance.ListActivities(chainName, contractAddress, tokenId, accountAddress, activityType, transactionHash, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling ActivitiesApi.ListActivities: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListActivitiesWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List all activities
+ ApiResponse response = apiInstance.ListActivitiesWithHttpInfo(chainName, contractAddress, tokenId, accountAddress, activityType, transactionHash, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling ActivitiesApi.ListActivitiesWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **contractAddress** | **string?** | The contract address of NFT or ERC20 Token | [optional] |
+| **tokenId** | **string?** | An `uint256` token id as string | [optional] |
+| **accountAddress** | **string?** | The account address activity contains | [optional] |
+| **activityType** | [**ActivityType?**](ActivityType?.md) | The activity type | [optional] |
+| **transactionHash** | **string?** | The transaction hash of activity | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListActivitiesResult**](ListActivitiesResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListActivityHistory**
+> ListActivitiesResult ListActivityHistory (string chainName, DateTime fromUpdatedAt, DateTime? toUpdatedAt = null, string? contractAddress = null, ActivityType? activityType = null, string? pageCursor = null, int? pageSize = null)
+
+List history of activities
+
+List activities sorted by updated_at timestamp ascending, useful for time based data replication
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListActivityHistoryExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new ActivitiesApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var fromUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime | From indexed at including given date
+ var toUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime? | To indexed at including given date (optional)
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string? | The contract address of the collection (optional)
+ var activityType = new ActivityType?(); // ActivityType? | The activity type (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List history of activities
+ ListActivitiesResult result = apiInstance.ListActivityHistory(chainName, fromUpdatedAt, toUpdatedAt, contractAddress, activityType, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling ActivitiesApi.ListActivityHistory: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListActivityHistoryWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List history of activities
+ ApiResponse response = apiInstance.ListActivityHistoryWithHttpInfo(chainName, fromUpdatedAt, toUpdatedAt, contractAddress, activityType, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling ActivitiesApi.ListActivityHistoryWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **fromUpdatedAt** | **DateTime** | From indexed at including given date | |
+| **toUpdatedAt** | **DateTime?** | To indexed at including given date | [optional] |
+| **contractAddress** | **string?** | The contract address of the collection | [optional] |
+| **activityType** | [**ActivityType?**](ActivityType?.md) | The activity type | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListActivitiesResult**](ListActivitiesResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Activity.md b/src/Packages/ZkEvmApi/Documentation~/Activity.md
new file mode 100644
index 00000000..e8e29814
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Activity.md
@@ -0,0 +1,16 @@
+# Immutable.Api.ZkEvm.Model.Activity
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **Guid** | Activity id in UUIDv4 format |
+**Chain** | [**Chain**](Chain.md) | |
+**Type** | **ActivityType** | |
+**Details** | [**ActivityDetails**](ActivityDetails.md) | |
+**UpdatedAt** | **DateTime** | The time activity was updated at |
+**IndexedAt** | **DateTime** | The time activity was indexed |
+**BlockchainMetadata** | [**BlockchainMetadata**](BlockchainMetadata.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ActivityAsset.md b/src/Packages/ZkEvmApi/Documentation~/ActivityAsset.md
new file mode 100644
index 00000000..768f231b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ActivityAsset.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.ActivityAsset
+The contract and asset details for this activity
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ContractType** | **TokenContractType** | |
+**ContractAddress** | **string** | The contract address |
+**TokenId** | **string** | An `uint256` token id as string |
+**Amount** | **string** | (deprecated - will never be filled, use amount on Activity instead) The amount of tokens exchanged |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ActivityDetails.md b/src/Packages/ZkEvmApi/Documentation~/ActivityDetails.md
new file mode 100644
index 00000000..3d1d92bc
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ActivityDetails.md
@@ -0,0 +1,16 @@
+# Immutable.Api.ZkEvm.Model.ActivityDetails
+The activity details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**To** | **string** | The account address the asset was deposited to |
+**Amount** | **string** | The amount of assets withdrawn |
+**Asset** | [**ActivityAsset**](ActivityAsset.md) | |
+**From** | **string** | The account address the asset was withdrawn from |
+**OrderId** | **string** | The id of order |
+**Payment** | [**SalePayment**](SalePayment.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ActivityNFT.md b/src/Packages/ZkEvmApi/Documentation~/ActivityNFT.md
new file mode 100644
index 00000000..59311d10
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ActivityNFT.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.ActivityNFT
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ContractType** | **NFTContractType** | |
+**ContractAddress** | **string** | The token contract address |
+**TokenId** | **string** | An `uint256` token id as string |
+**Amount** | **string** | (deprecated - will never be filled, use amount on Activity instead) The amount of tokens exchanged |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ActivityNativeToken.md b/src/Packages/ZkEvmApi/Documentation~/ActivityNativeToken.md
new file mode 100644
index 00000000..7d1c4f27
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ActivityNativeToken.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.ActivityNativeToken
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Symbol** | **string** | The token symbol |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ActivityToken.md b/src/Packages/ZkEvmApi/Documentation~/ActivityToken.md
new file mode 100644
index 00000000..110ffc15
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ActivityToken.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ActivityToken
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ContractType** | **TokenContractType** | |
+**ContractAddress** | **string** | The contract address |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ActivityType.md b/src/Packages/ZkEvmApi/Documentation~/ActivityType.md
new file mode 100644
index 00000000..7af61a58
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ActivityType.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.ActivityType
+The activity type
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/AssetCollectionItem.md b/src/Packages/ZkEvmApi/Documentation~/AssetCollectionItem.md
new file mode 100644
index 00000000..5547e623
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/AssetCollectionItem.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.AssetCollectionItem
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is ERC721 |
+**ContractAddress** | **string** | Address of ERC1155 collection |
+**Amount** | **string** | A string representing the price at which the user is willing to sell the token. This value is provided in the smallest unit of the token (e.g., wei for Ethereum). |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/AssetVerificationStatus.md b/src/Packages/ZkEvmApi/Documentation~/AssetVerificationStatus.md
new file mode 100644
index 00000000..b97f9b2b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/AssetVerificationStatus.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.AssetVerificationStatus
+The verification status for a given contract
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/BasicAPIError.md b/src/Packages/ZkEvmApi/Documentation~/BasicAPIError.md
new file mode 100644
index 00000000..7424a195
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/BasicAPIError.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.BasicAPIError
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Message** | **string** | Error Message |
+**Link** | **string** | Link to IMX documentation that can help resolve this error |
+**TraceId** | **string** | Trace ID of the initial request |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/BidResult.md b/src/Packages/ZkEvmApi/Documentation~/BidResult.md
new file mode 100644
index 00000000..39698749
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/BidResult.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.BidResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**Order**](Order.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/BlockchainMetadata.md b/src/Packages/ZkEvmApi/Documentation~/BlockchainMetadata.md
new file mode 100644
index 00000000..07e41ea7
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/BlockchainMetadata.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.BlockchainMetadata
+The metadata related to blockchain transaction
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**TransactionHash** | **string** | The transaction hash of the activity |
+**BlockNumber** | **string** | EVM block number (uint64 as string) |
+**TransactionIndex** | **string** | Transaction index in a block (uint32 as string) |
+**LogIndex** | **string** | The log index of activity in a block (uint32 as string) |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Burn.md b/src/Packages/ZkEvmApi/Documentation~/Burn.md
new file mode 100644
index 00000000..e9e131d1
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Burn.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.Burn
+The burn activity details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**From** | **string** | The account address the asset was transferred from |
+**Amount** | **string** | The amount of assets burnt |
+**Asset** | [**ActivityAsset**](ActivityAsset.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Call.md b/src/Packages/ZkEvmApi/Documentation~/Call.md
new file mode 100644
index 00000000..01b7f156
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Call.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.Call
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**TargetAddress** | **string** | An Ethereum address |
+**FunctionSignature** | **string** | The function signature |
+**FunctionArgs** | **List<string>** | The function arguments |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CancelOrdersRequestBody.md b/src/Packages/ZkEvmApi/Documentation~/CancelOrdersRequestBody.md
new file mode 100644
index 00000000..93cbf50f
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CancelOrdersRequestBody.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.CancelOrdersRequestBody
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**AccountAddress** | **string** | Address of the user initiating the cancel request |
+**Orders** | **List<Guid>** | List of order ids proposed for cancellation |
+**Signature** | **string** | Signature generated by the user for the specific cancellation request |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CancelOrdersResult.md b/src/Packages/ZkEvmApi/Documentation~/CancelOrdersResult.md
new file mode 100644
index 00000000..07b39d50
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CancelOrdersResult.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.CancelOrdersResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**CancelOrdersResultData**](CancelOrdersResultData.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CancelOrdersResultData.md b/src/Packages/ZkEvmApi/Documentation~/CancelOrdersResultData.md
new file mode 100644
index 00000000..bad08be8
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CancelOrdersResultData.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.CancelOrdersResultData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**SuccessfulCancellations** | **List<string>** | Orders which were successfully cancelled |
+**PendingCancellations** | **List<string>** | Orders which are marked for cancellation but the cancellation cannot be guaranteed |
+**FailedCancellations** | [**List<FailedOrderCancellation>**](FailedOrderCancellation.md) | Orders which failed to be cancelled |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CancelledOrderStatus.md b/src/Packages/ZkEvmApi/Documentation~/CancelledOrderStatus.md
new file mode 100644
index 00000000..867170de
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CancelledOrderStatus.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.CancelledOrderStatus
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | The order status indicating a order is has been cancelled or about to be cancelled. |
+**Pending** | **bool** | Whether the cancellation of the order is pending |
+**CancellationType** | **string** | Whether the cancellation was done on-chain or off-chain or as a result of an underfunded account |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Chain.md b/src/Packages/ZkEvmApi/Documentation~/Chain.md
new file mode 100644
index 00000000..a805321a
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Chain.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.Chain
+The chain details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **string** | The id of chain |
+**Name** | **string** | The name of chain |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ChainWithDetails.md b/src/Packages/ZkEvmApi/Documentation~/ChainWithDetails.md
new file mode 100644
index 00000000..20cef1c4
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ChainWithDetails.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.ChainWithDetails
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **string** | The id of chain |
+**Name** | **string** | The name of chain |
+**RpcUrl** | **string** | URL for RPC node |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ChainsApi.md b/src/Packages/ZkEvmApi/Documentation~/ChainsApi.md
new file mode 100644
index 00000000..7195be4e
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ChainsApi.md
@@ -0,0 +1,104 @@
+# Immutable.Api.ZkEvm.Api.ChainsApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**ListChains**](ChainsApi.md#listchains) | **GET** /v1/chains | List supported chains |
+
+
+# **ListChains**
+> ListChainsResult ListChains (string? pageCursor = null, int? pageSize = null)
+
+List supported chains
+
+List supported chains
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListChainsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new ChainsApi(config);
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List supported chains
+ ListChainsResult result = apiInstance.ListChains(pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling ChainsApi.ListChains: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListChainsWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List supported chains
+ ApiResponse response = apiInstance.ListChainsWithHttpInfo(pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling ChainsApi.ListChainsWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListChainsResult**](ListChainsResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Collection.md b/src/Packages/ZkEvmApi/Documentation~/Collection.md
new file mode 100644
index 00000000..ccc60d23
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Collection.md
@@ -0,0 +1,23 @@
+# Immutable.Api.ZkEvm.Model.Collection
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**Name** | **string** | The name of the collection |
+**Symbol** | **string** | The symbol of contract |
+**ContractType** | **CollectionContractType** | |
+**ContractAddress** | **string** | The address of the contract |
+**Description** | **string** | The description of collection |
+**Image** | **string** | The url of the collection image |
+**ExternalLink** | **string** | The url of external link |
+**ContractUri** | **string** | The uri for the metadata of the collection | [optional]
+**BaseUri** | **string** | The metadata uri for nft |
+**VerificationStatus** | **AssetVerificationStatus** | |
+**IndexedAt** | **DateTime** | When the collection was first indexed |
+**UpdatedAt** | **DateTime** | When the collection was last updated |
+**MetadataSyncedAt** | **DateTime?** | When the collection metadata was last synced |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CollectionBidResult.md b/src/Packages/ZkEvmApi/Documentation~/CollectionBidResult.md
new file mode 100644
index 00000000..dcc64064
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CollectionBidResult.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.CollectionBidResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**Order**](Order.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CollectionContractType.md b/src/Packages/ZkEvmApi/Documentation~/CollectionContractType.md
new file mode 100644
index 00000000..cd6c3b21
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CollectionContractType.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.CollectionContractType
+The collection contract type
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CollectionMetadata.md b/src/Packages/ZkEvmApi/Documentation~/CollectionMetadata.md
new file mode 100644
index 00000000..fc825fe5
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CollectionMetadata.md
@@ -0,0 +1,16 @@
+# Immutable.Api.ZkEvm.Model.CollectionMetadata
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | The name of the collection |
+**Symbol** | **string** | The symbol of contract |
+**Description** | **string** | The description of collection |
+**Image** | **string** | The url of the collection image |
+**ExternalLink** | **string** | The url of external link |
+**ContractUri** | **string** | The uri for the metadata of the collection |
+**BaseUri** | **string** | The metadata uri for nft |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CollectionsApi.md b/src/Packages/ZkEvmApi/Documentation~/CollectionsApi.md
new file mode 100644
index 00000000..e238974b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CollectionsApi.md
@@ -0,0 +1,418 @@
+# Immutable.Api.ZkEvm.Api.CollectionsApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**GetCollection**](CollectionsApi.md#getcollection) | **GET** /v1/chains/{chain_name}/collections/{contract_address} | Get collection by contract address |
+| [**ListCollections**](CollectionsApi.md#listcollections) | **GET** /v1/chains/{chain_name}/collections | List all collections |
+| [**ListCollectionsByNFTOwner**](CollectionsApi.md#listcollectionsbynftowner) | **GET** /v1/chains/{chain_name}/accounts/{account_address}/collections | List collections by NFT owner |
+| [**RefreshCollectionMetadata**](CollectionsApi.md#refreshcollectionmetadata) | **POST** /v1/chains/{chain_name}/collections/{contract_address}/refresh-metadata | Refresh collection metadata |
+
+
+# **GetCollection**
+> GetCollectionResult GetCollection (string contractAddress, string chainName)
+
+Get collection by contract address
+
+Get collection by contract address
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetCollectionExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new CollectionsApi(config);
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string | The address contract
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+
+ try
+ {
+ // Get collection by contract address
+ GetCollectionResult result = apiInstance.GetCollection(contractAddress, chainName);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling CollectionsApi.GetCollection: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetCollectionWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get collection by contract address
+ ApiResponse response = apiInstance.GetCollectionWithHttpInfo(contractAddress, chainName);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling CollectionsApi.GetCollectionWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | The address contract | |
+| **chainName** | **string** | The name of chain | |
+
+### Return type
+
+[**GetCollectionResult**](GetCollectionResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListCollections**
+> ListCollectionsResult ListCollections (string chainName, List? contractAddress = null, List? verificationStatus = null, DateTime? fromUpdatedAt = null, string? pageCursor = null, int? pageSize = null)
+
+List all collections
+
+List all collections
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListCollectionsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new CollectionsApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var contractAddress = new List?(); // List? | List of contract addresses to filter by (optional)
+ var verificationStatus = new List?(); // List? | List of verification status to filter by (optional)
+ var fromUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime? | Datetime to use as the oldest updated timestamp (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List all collections
+ ListCollectionsResult result = apiInstance.ListCollections(chainName, contractAddress, verificationStatus, fromUpdatedAt, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling CollectionsApi.ListCollections: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListCollectionsWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List all collections
+ ApiResponse response = apiInstance.ListCollectionsWithHttpInfo(chainName, contractAddress, verificationStatus, fromUpdatedAt, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling CollectionsApi.ListCollectionsWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **contractAddress** | [**List<string>?**](string.md) | List of contract addresses to filter by | [optional] |
+| **verificationStatus** | [**List<AssetVerificationStatus>?**](AssetVerificationStatus.md) | List of verification status to filter by | [optional] |
+| **fromUpdatedAt** | **DateTime?** | Datetime to use as the oldest updated timestamp | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListCollectionsResult**](ListCollectionsResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListCollectionsByNFTOwner**
+> ListCollectionsResult ListCollectionsByNFTOwner (string accountAddress, string chainName, string? pageCursor = null, int? pageSize = null)
+
+List collections by NFT owner
+
+List collections by NFT owner account address
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListCollectionsByNFTOwnerExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new CollectionsApi(config);
+ var accountAddress = 0xe9b00a87700f660e46b6f5deaa1232836bcc07d3; // string | Account address
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List collections by NFT owner
+ ListCollectionsResult result = apiInstance.ListCollectionsByNFTOwner(accountAddress, chainName, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling CollectionsApi.ListCollectionsByNFTOwner: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListCollectionsByNFTOwnerWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List collections by NFT owner
+ ApiResponse response = apiInstance.ListCollectionsByNFTOwnerWithHttpInfo(accountAddress, chainName, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling CollectionsApi.ListCollectionsByNFTOwnerWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **accountAddress** | **string** | Account address | |
+| **chainName** | **string** | The name of chain | |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListCollectionsResult**](ListCollectionsResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **RefreshCollectionMetadata**
+> RefreshCollectionMetadataResult RefreshCollectionMetadata (string contractAddress, string chainName, RefreshCollectionMetadataRequest refreshCollectionMetadataRequest)
+
+Refresh collection metadata
+
+Refresh collection metadata
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class RefreshCollectionMetadataExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ // Configure API key authorization: ImmutableApiKey
+ config.AddApiKey("x-immutable-api-key", "YOUR_API_KEY");
+ // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+ // config.AddApiKeyPrefix("x-immutable-api-key", "Bearer");
+ // Configure Bearer token for authorization: BearerAuth
+ config.AccessToken = "YOUR_BEARER_TOKEN";
+
+ var apiInstance = new CollectionsApi(config);
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string | The address contract
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var refreshCollectionMetadataRequest = new RefreshCollectionMetadataRequest(); // RefreshCollectionMetadataRequest | The request body
+
+ try
+ {
+ // Refresh collection metadata
+ RefreshCollectionMetadataResult result = apiInstance.RefreshCollectionMetadata(contractAddress, chainName, refreshCollectionMetadataRequest);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling CollectionsApi.RefreshCollectionMetadata: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the RefreshCollectionMetadataWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Refresh collection metadata
+ ApiResponse response = apiInstance.RefreshCollectionMetadataWithHttpInfo(contractAddress, chainName, refreshCollectionMetadataRequest);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling CollectionsApi.RefreshCollectionMetadataWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | The address contract | |
+| **chainName** | **string** | The name of chain | |
+| **refreshCollectionMetadataRequest** | [**RefreshCollectionMetadataRequest**](RefreshCollectionMetadataRequest.md) | The request body | |
+
+### Return type
+
+[**RefreshCollectionMetadataResult**](RefreshCollectionMetadataResult.md)
+
+### Authorization
+
+[ImmutableApiKey](../README.md#ImmutableApiKey), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CraftingApi.md b/src/Packages/ZkEvmApi/Documentation~/CraftingApi.md
new file mode 100644
index 00000000..2ce960d6
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CraftingApi.md
@@ -0,0 +1,111 @@
+# Immutable.Api.ZkEvm.Api.CraftingApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**SignCraftingPayload**](CraftingApi.md#signcraftingpayload) | **POST** /v1/chains/{chain_name}/crafting/sign | Sign a crafting payload |
+
+
+# **SignCraftingPayload**
+> SignCraftingResult SignCraftingPayload (string chainName, SignCraftingRequest signCraftingRequest)
+
+Sign a crafting payload
+
+Sign a crafting payload
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class SignCraftingPayloadExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ // Configure API key authorization: ImmutableApiKey
+ config.AddApiKey("x-immutable-api-key", "YOUR_API_KEY");
+ // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+ // config.AddApiKeyPrefix("x-immutable-api-key", "Bearer");
+
+ var apiInstance = new CraftingApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var signCraftingRequest = new SignCraftingRequest(); // SignCraftingRequest | The request body
+
+ try
+ {
+ // Sign a crafting payload
+ SignCraftingResult result = apiInstance.SignCraftingPayload(chainName, signCraftingRequest);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling CraftingApi.SignCraftingPayload: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the SignCraftingPayloadWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Sign a crafting payload
+ ApiResponse response = apiInstance.SignCraftingPayloadWithHttpInfo(chainName, signCraftingRequest);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling CraftingApi.SignCraftingPayloadWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **signCraftingRequest** | [**SignCraftingRequest**](SignCraftingRequest.md) | The request body | |
+
+### Return type
+
+[**SignCraftingResult**](SignCraftingResult.md)
+
+### Authorization
+
+[ImmutableApiKey](../README.md#ImmutableApiKey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CreateBidRequestBody.md b/src/Packages/ZkEvmApi/Documentation~/CreateBidRequestBody.md
new file mode 100644
index 00000000..085abb52
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CreateBidRequestBody.md
@@ -0,0 +1,19 @@
+# Immutable.Api.ZkEvm.Model.CreateBidRequestBody
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**AccountAddress** | **string** | |
+**OrderHash** | **string** | |
+**Buy** | [**List<Item>**](Item.md) | Buy item for bid should either be ERC721 or ERC1155 item |
+**Fees** | [**List<Fee>**](Fee.md) | Buy fees should only include maker marketplace fees and should be no more than two entries as more entires will incur more gas. It is best practice to have this as few as possible. |
+**EndAt** | **DateTime** | Time after which the Order is considered expired |
+**ProtocolData** | [**ProtocolData**](ProtocolData.md) | |
+**Salt** | **string** | A random value added to the create Order request |
+**Sell** | [**List<ERC20Item>**](ERC20Item.md) | Sell item for bid should be an ERC20 item |
+**Signature** | **string** | Digital signature generated by the user for the specific Order |
+**StartAt** | **DateTime** | Time after which Order is considered active |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CreateCollectionBidRequestBody.md b/src/Packages/ZkEvmApi/Documentation~/CreateCollectionBidRequestBody.md
new file mode 100644
index 00000000..cd121e29
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CreateCollectionBidRequestBody.md
@@ -0,0 +1,19 @@
+# Immutable.Api.ZkEvm.Model.CreateCollectionBidRequestBody
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**AccountAddress** | **string** | |
+**OrderHash** | **string** | |
+**Buy** | [**List<AssetCollectionItem>**](AssetCollectionItem.md) | Buy item for collection bid should either be ERC721 or ERC1155 collection item |
+**Fees** | [**List<Fee>**](Fee.md) | Buy fees should only include maker marketplace fees and should be no more than two entries as more entires will incur more gas. It is best practice to have this as few as possible. |
+**EndAt** | **DateTime** | Time after which the Order is considered expired |
+**ProtocolData** | [**ProtocolData**](ProtocolData.md) | |
+**Salt** | **string** | A random value added to the create Order request |
+**Sell** | [**List<ERC20Item>**](ERC20Item.md) | Sell item for collection bid should be an ERC20 item |
+**Signature** | **string** | Digital signature generated by the user for the specific Order |
+**StartAt** | **DateTime** | Time after which Order is considered active |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CreateListingRequestBody.md b/src/Packages/ZkEvmApi/Documentation~/CreateListingRequestBody.md
new file mode 100644
index 00000000..cb2dce05
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CreateListingRequestBody.md
@@ -0,0 +1,19 @@
+# Immutable.Api.ZkEvm.Model.CreateListingRequestBody
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**AccountAddress** | **string** | |
+**OrderHash** | **string** | |
+**Buy** | [**List<Item>**](Item.md) | Buy item for listing should either be NATIVE or ERC20 item |
+**Fees** | [**List<Fee>**](Fee.md) | Buy fees should only include maker marketplace fees and should be no more than two entries as more entires will incur more gas. It is best practice to have this as few as possible. |
+**EndAt** | **DateTime** | Time after which the Order is considered expired |
+**ProtocolData** | [**ProtocolData**](ProtocolData.md) | |
+**Salt** | **string** | A random value added to the create Order request |
+**Sell** | [**List<Item>**](Item.md) | Sell item for listing should be an ERC721 item |
+**Signature** | **string** | Digital signature generated by the user for the specific Order |
+**StartAt** | **DateTime** | Time after which Order is considered active |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CreateMintRequestRequest.md b/src/Packages/ZkEvmApi/Documentation~/CreateMintRequestRequest.md
new file mode 100644
index 00000000..9088cb2e
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CreateMintRequestRequest.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.CreateMintRequestRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Assets** | [**List<MintAsset>**](MintAsset.md) | List of nft to be minted |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/CreateMintRequestResult.md b/src/Packages/ZkEvmApi/Documentation~/CreateMintRequestResult.md
new file mode 100644
index 00000000..81bc26a3
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/CreateMintRequestResult.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.CreateMintRequestResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ImxMintRequestsLimit** | **string** | |
+**ImxMintRequestsLimitReset** | **string** | |
+**ImxRemainingMintRequests** | **string** | |
+**ImxMintRequestsRetryAfter** | **string** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Deposit.md b/src/Packages/ZkEvmApi/Documentation~/Deposit.md
new file mode 100644
index 00000000..21d8de91
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Deposit.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.Deposit
+The deposit activity details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**To** | **string** | The account address the asset was deposited to |
+**Amount** | **string** | The deposited amount |
+**Asset** | [**ActivityAsset**](ActivityAsset.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ERC1155CollectionItem.md b/src/Packages/ZkEvmApi/Documentation~/ERC1155CollectionItem.md
new file mode 100644
index 00000000..7768e1e1
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ERC1155CollectionItem.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.ERC1155CollectionItem
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is ERC1155 |
+**ContractAddress** | **string** | Address of ERC1155 collection |
+**Amount** | **string** | A string representing the price at which the user is willing to sell the token. This value is provided in the smallest unit of the token (e.g., wei for Ethereum). |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ERC1155Item.md b/src/Packages/ZkEvmApi/Documentation~/ERC1155Item.md
new file mode 100644
index 00000000..b5a8fc10
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ERC1155Item.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.ERC1155Item
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is ERC1155 |
+**ContractAddress** | **string** | Address of ERC1155 token |
+**TokenId** | **string** | ID of ERC1155 token |
+**Amount** | **string** | A string representing the price at which the user is willing to sell the token. This value is provided in the smallest unit of the token (e.g., wei for Ethereum). |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ERC20Item.md b/src/Packages/ZkEvmApi/Documentation~/ERC20Item.md
new file mode 100644
index 00000000..d3381026
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ERC20Item.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.ERC20Item
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is ERC20 |
+**ContractAddress** | **string** | Address of ERC20 token |
+**Amount** | **string** | A string representing the price at which the user is willing to sell the token. This value is provided in the smallest unit of the token (e.g., wei for Ethereum). |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ERC721CollectionItem.md b/src/Packages/ZkEvmApi/Documentation~/ERC721CollectionItem.md
new file mode 100644
index 00000000..4524a458
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ERC721CollectionItem.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.ERC721CollectionItem
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is ERC721 |
+**ContractAddress** | **string** | Address of ERC721 collection |
+**Amount** | **string** | A string representing the price at which the user is willing to sell the token. This value is provided in the smallest unit of the token (e.g., wei for Ethereum). |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ERC721Item.md b/src/Packages/ZkEvmApi/Documentation~/ERC721Item.md
new file mode 100644
index 00000000..019f8e11
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ERC721Item.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.ERC721Item
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is ERC721 |
+**ContractAddress** | **string** | Address of ERC721 token |
+**TokenId** | **string** | ID of ERC721 token |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ExpiredOrderStatus.md b/src/Packages/ZkEvmApi/Documentation~/ExpiredOrderStatus.md
new file mode 100644
index 00000000..d433e253
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ExpiredOrderStatus.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.ExpiredOrderStatus
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | A terminal order status indicating that an order cannot be fulfilled due to expiry. |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/FailedOrderCancellation.md b/src/Packages/ZkEvmApi/Documentation~/FailedOrderCancellation.md
new file mode 100644
index 00000000..e2a28a6e
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/FailedOrderCancellation.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.FailedOrderCancellation
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Order** | **string** | ID of the order which failed to be cancelled |
+**ReasonCode** | **string** | Reason code indicating why the order failed to be cancelled |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Fee.md b/src/Packages/ZkEvmApi/Documentation~/Fee.md
new file mode 100644
index 00000000..fdf5e0f6
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Fee.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.Fee
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Amount** | **string** | Fee payable to recipient upon settlement |
+**Type** | **string** | Fee type |
+**RecipientAddress** | **string** | Wallet address of fee recipient |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/FillStatus.md b/src/Packages/ZkEvmApi/Documentation~/FillStatus.md
new file mode 100644
index 00000000..91e66618
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/FillStatus.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.FillStatus
+The ratio of the order that has been filled, an order that has been fully filled will have the same numerator and denominator values.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Numerator** | **string** | The numerator of the fill status |
+**Denominator** | **string** | The denominator of the fill status |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/FilledOrderStatus.md b/src/Packages/ZkEvmApi/Documentation~/FilledOrderStatus.md
new file mode 100644
index 00000000..4fe96f05
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/FilledOrderStatus.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.FilledOrderStatus
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | A terminal order status indicating that an order has been fulfilled. |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/FulfillableOrder.md b/src/Packages/ZkEvmApi/Documentation~/FulfillableOrder.md
new file mode 100644
index 00000000..750cc2ef
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/FulfillableOrder.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.FulfillableOrder
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Order** | [**Order**](Order.md) | |
+**TokenId** | **string** | Token ID for the ERC721 or ERC1155 token when fulfilling a collection order | [optional]
+**ExtraData** | **string** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/FulfillmentData200Response.md b/src/Packages/ZkEvmApi/Documentation~/FulfillmentData200Response.md
new file mode 100644
index 00000000..a14257c9
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/FulfillmentData200Response.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.FulfillmentData200Response
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**FulfillmentData200ResponseResult**](FulfillmentData200ResponseResult.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/FulfillmentData200ResponseResult.md b/src/Packages/ZkEvmApi/Documentation~/FulfillmentData200ResponseResult.md
new file mode 100644
index 00000000..b33eba5f
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/FulfillmentData200ResponseResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.FulfillmentData200ResponseResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**FulfillableOrders** | [**List<FulfillableOrder>**](FulfillableOrder.md) | |
+**UnfulfillableOrders** | [**List<UnfulfillableOrder>**](UnfulfillableOrder.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/FulfillmentDataRequest.md b/src/Packages/ZkEvmApi/Documentation~/FulfillmentDataRequest.md
new file mode 100644
index 00000000..a32f979f
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/FulfillmentDataRequest.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.FulfillmentDataRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**OrderId** | **Guid** | |
+**TakerAddress** | **string** | Address of the intended account fulfilling the order |
+**Fees** | [**List<Fee>**](Fee.md) | |
+**TokenId** | **string** | Token ID for the ERC721 or ERC1155 token when fulfilling a collection order | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/GetActivityResult.md b/src/Packages/ZkEvmApi/Documentation~/GetActivityResult.md
new file mode 100644
index 00000000..2ad0bde4
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/GetActivityResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.GetActivityResult
+Single activity
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**Activity**](Activity.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/GetCollectionResult.md b/src/Packages/ZkEvmApi/Documentation~/GetCollectionResult.md
new file mode 100644
index 00000000..8ca58b50
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/GetCollectionResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.GetCollectionResult
+Single Collection
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | **Collection** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/GetLinkedAddressesRes.md b/src/Packages/ZkEvmApi/Documentation~/GetLinkedAddressesRes.md
new file mode 100644
index 00000000..d66485f9
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/GetLinkedAddressesRes.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.GetLinkedAddressesRes
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**LinkedAddresses** | **List<string>** | The user's list of linked addresses |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/GetMetadataResult.md b/src/Packages/ZkEvmApi/Documentation~/GetMetadataResult.md
new file mode 100644
index 00000000..62a14a98
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/GetMetadataResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.GetMetadataResult
+Single metadata
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**Metadata**](Metadata.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/GetMintRequestResult.md b/src/Packages/ZkEvmApi/Documentation~/GetMintRequestResult.md
new file mode 100644
index 00000000..65725b49
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/GetMintRequestResult.md
@@ -0,0 +1,21 @@
+# Immutable.Api.ZkEvm.Model.GetMintRequestResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**CollectionAddress** | **string** | The address of the contract |
+**ReferenceId** | **string** | The reference id of this mint request |
+**OwnerAddress** | **string** | The address of the owner of the NFT |
+**TokenId** | **string** | An `uint256` token id as string. Only available when the mint request succeeds |
+**Amount** | **string** | An `uint256` amount as string. Only relevant for mint requests on ERC1155 contracts | [optional]
+**ActivityId** | **Guid?** | The id of the mint activity associated with this mint request | [optional]
+**TransactionHash** | **string** | The transaction hash of the activity |
+**CreatedAt** | **DateTime** | When the mint request was created |
+**UpdatedAt** | **DateTime** | When the mint request was last updated |
+**Error** | [**MintRequestErrorMessage**](MintRequestErrorMessage.md) | |
+**Status** | **MintRequestStatus** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/GetNFTResult.md b/src/Packages/ZkEvmApi/Documentation~/GetNFTResult.md
new file mode 100644
index 00000000..27bd16c9
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/GetNFTResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.GetNFTResult
+Single NFT
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**NFT**](NFT.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/GetTokenResult.md b/src/Packages/ZkEvmApi/Documentation~/GetTokenResult.md
new file mode 100644
index 00000000..a4813b5e
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/GetTokenResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.GetTokenResult
+Single Token
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**Token**](Token.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/InactiveOrderStatus.md b/src/Packages/ZkEvmApi/Documentation~/InactiveOrderStatus.md
new file mode 100644
index 00000000..c8a5a6c2
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/InactiveOrderStatus.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.InactiveOrderStatus
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | The order status that indicates an order cannot be fulfilled. |
+**SufficientApprovals** | **bool** | Whether the order offerer has sufficient approvals |
+**SufficientBalances** | **bool** | Whether the order offerer still has sufficient balance to complete the order |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Item.md b/src/Packages/ZkEvmApi/Documentation~/Item.md
new file mode 100644
index 00000000..89b582c4
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Item.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.Item
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is the native IMX token |
+**Amount** | **string** | A string representing the price at which the user is willing to sell the token. This value is provided in the smallest unit of the token (e.g., wei for Ethereum). |
+**ContractAddress** | **string** | Address of ERC1155 collection |
+**TokenId** | **string** | ID of ERC1155 token |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/LastTrade.md b/src/Packages/ZkEvmApi/Documentation~/LastTrade.md
new file mode 100644
index 00000000..8d6bb042
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/LastTrade.md
@@ -0,0 +1,16 @@
+# Immutable.Api.ZkEvm.Model.LastTrade
+Most recent trade
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**TradeId** | **Guid** | Trade ID |
+**ContractAddress** | **string** | ETH Address of collection that the asset belongs to |
+**TokenId** | **string** | Token id of the traded asset (uint256 as string) |
+**PriceDetails** | [**List<MarketPriceDetails>**](MarketPriceDetails.md) | Price details, list of payments involved in this trade |
+**Amount** | **string** | Amount of the trade (uint256 as string) |
+**CreatedAt** | **DateTime** | When the trade was created |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/LinkWalletV2Request.md b/src/Packages/ZkEvmApi/Documentation~/LinkWalletV2Request.md
new file mode 100644
index 00000000..594e246b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/LinkWalletV2Request.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.LinkWalletV2Request
+Link wallet V2 request
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | This should be the EIP-6963 rdns value, if you're unable to get the rdns value you can provide \"External\". If using WalletConnect then provide \"WalletConnect\". |
+**WalletAddress** | **string** | The address of the external wallet being linked to Passport |
+**Signature** | **string** | The EIP-712 signature |
+**Nonce** | **string** | A unique identifier for the signature |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListActivitiesResult.md b/src/Packages/ZkEvmApi/Documentation~/ListActivitiesResult.md
new file mode 100644
index 00000000..1f1628d1
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListActivitiesResult.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.ListActivitiesResult
+List activities response
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<Activity>**](Activity.md) | List of activities |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListBidsResult.md b/src/Packages/ZkEvmApi/Documentation~/ListBidsResult.md
new file mode 100644
index 00000000..9accd991
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListBidsResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListBidsResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Page** | [**Page**](Page.md) | |
+**Result** | [**List<Order>**](Order.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListChainsResult.md b/src/Packages/ZkEvmApi/Documentation~/ListChainsResult.md
new file mode 100644
index 00000000..17633f1d
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListChainsResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListChainsResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<ChainWithDetails>**](ChainWithDetails.md) | List of chains |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListCollectionBidsResult.md b/src/Packages/ZkEvmApi/Documentation~/ListCollectionBidsResult.md
new file mode 100644
index 00000000..8c018131
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListCollectionBidsResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListCollectionBidsResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Page** | [**Page**](Page.md) | |
+**Result** | [**List<Order>**](Order.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListCollectionOwnersResult.md b/src/Packages/ZkEvmApi/Documentation~/ListCollectionOwnersResult.md
new file mode 100644
index 00000000..0360c348
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListCollectionOwnersResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListCollectionOwnersResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<NFTWithOwner>**](NFTWithOwner.md) | List of NFT owners |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListCollectionsResult.md b/src/Packages/ZkEvmApi/Documentation~/ListCollectionsResult.md
new file mode 100644
index 00000000..a30cc2d8
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListCollectionsResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListCollectionsResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | **List<Collection>** | List of collections |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListListingsResult.md b/src/Packages/ZkEvmApi/Documentation~/ListListingsResult.md
new file mode 100644
index 00000000..9d9c46bc
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListListingsResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListListingsResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Page** | [**Page**](Page.md) | |
+**Result** | [**List<Order>**](Order.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListMetadataResult.md b/src/Packages/ZkEvmApi/Documentation~/ListMetadataResult.md
new file mode 100644
index 00000000..2632c8ed
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListMetadataResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListMetadataResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<Metadata>**](Metadata.md) | List of metadata |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListMintRequestsResult.md b/src/Packages/ZkEvmApi/Documentation~/ListMintRequestsResult.md
new file mode 100644
index 00000000..5a365c5a
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListMintRequestsResult.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.ListMintRequestsResult
+List mint requests
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<GetMintRequestResult>**](GetMintRequestResult.md) | List of mint requests |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListNFTOwnersResult.md b/src/Packages/ZkEvmApi/Documentation~/ListNFTOwnersResult.md
new file mode 100644
index 00000000..f611a3cb
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListNFTOwnersResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListNFTOwnersResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<NFTOwner>**](NFTOwner.md) | List of nft owners |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListNFTsByOwnerResult.md b/src/Packages/ZkEvmApi/Documentation~/ListNFTsByOwnerResult.md
new file mode 100644
index 00000000..15afad4b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListNFTsByOwnerResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListNFTsByOwnerResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<NFTWithBalance>**](NFTWithBalance.md) | List of NFTs by owner |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListNFTsResult.md b/src/Packages/ZkEvmApi/Documentation~/ListNFTsResult.md
new file mode 100644
index 00000000..82a50109
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListNFTsResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListNFTsResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<NFT>**](NFT.md) | List of NFTs |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListTokensResult.md b/src/Packages/ZkEvmApi/Documentation~/ListTokensResult.md
new file mode 100644
index 00000000..25082506
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListTokensResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListTokensResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<Token>**](Token.md) | List of tokens |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListTradeResult.md b/src/Packages/ZkEvmApi/Documentation~/ListTradeResult.md
new file mode 100644
index 00000000..8b151235
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListTradeResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.ListTradeResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Page** | [**Page**](Page.md) | |
+**Result** | [**List<Trade>**](Trade.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Listing.md b/src/Packages/ZkEvmApi/Documentation~/Listing.md
new file mode 100644
index 00000000..ea4bc1fd
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Listing.md
@@ -0,0 +1,16 @@
+# Immutable.Api.ZkEvm.Model.Listing
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ListingId** | **string** | Global Order identifier |
+**PriceDetails** | [**MarketPriceDetails**](MarketPriceDetails.md) | |
+**ConvertedPrices** | **Dictionary<string, string>** | A mapping of converted prices for major currencies such as ETH, USD. All converted prices are fee-inclusive. |
+**TokenId** | **string** | Token ID |
+**ContractAddress** | **string** | ETH Address of collection that the asset belongs to |
+**Creator** | **string** | ETH Address of listing creator |
+**Amount** | **string** | Amount of token included in the listing |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ListingResult.md b/src/Packages/ZkEvmApi/Documentation~/ListingResult.md
new file mode 100644
index 00000000..8b26af28
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ListingResult.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.ListingResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**Order**](Order.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Market.md b/src/Packages/ZkEvmApi/Documentation~/Market.md
new file mode 100644
index 00000000..1c5f4cf3
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Market.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.Market
+Market data
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**FloorListing** | [**Listing**](Listing.md) | Cheapest active listing |
+**LastTrade** | [**LastTrade**](LastTrade.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MarketNft.md b/src/Packages/ZkEvmApi/Documentation~/MarketNft.md
new file mode 100644
index 00000000..d2a7a17a
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MarketNft.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.MarketNft
+NFT market data
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**LastTrade** | [**LastTrade**](LastTrade.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MarketPriceDetails.md b/src/Packages/ZkEvmApi/Documentation~/MarketPriceDetails.md
new file mode 100644
index 00000000..64f99ab1
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MarketPriceDetails.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.MarketPriceDetails
+Market Price details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Token** | [**MarketPriceDetailsToken**](MarketPriceDetailsToken.md) | |
+**Amount** | **string** | The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH) |
+**FeeInclusiveAmount** | **string** | The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH) |
+**Fees** | [**List<MarketPriceFees>**](MarketPriceFees.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MarketPriceDetailsToken.md b/src/Packages/ZkEvmApi/Documentation~/MarketPriceDetailsToken.md
new file mode 100644
index 00000000..9ae62db3
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MarketPriceDetailsToken.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.MarketPriceDetailsToken
+Token details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is the native IMX token |
+**Symbol** | **string** | The symbol of token |
+**ContractAddress** | **string** | Address of ERC20 token |
+**Decimals** | **int?** | The decimals of token |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MarketPriceERC20Token.md b/src/Packages/ZkEvmApi/Documentation~/MarketPriceERC20Token.md
new file mode 100644
index 00000000..99bdc32c
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MarketPriceERC20Token.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.MarketPriceERC20Token
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is ERC20 |
+**ContractAddress** | **string** | Address of ERC20 token |
+**Symbol** | **string** | The symbol of token |
+**Decimals** | **int?** | The decimals of token |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MarketPriceFees.md b/src/Packages/ZkEvmApi/Documentation~/MarketPriceFees.md
new file mode 100644
index 00000000..f412f351
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MarketPriceFees.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.MarketPriceFees
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Amount** | **string** | Fee in the payment currency |
+**Type** | **string** | Fee type |
+**RecipientAddress** | **string** | Wallet address of fee recipient |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MarketPriceNativeToken.md b/src/Packages/ZkEvmApi/Documentation~/MarketPriceNativeToken.md
new file mode 100644
index 00000000..5d9b601a
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MarketPriceNativeToken.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.MarketPriceNativeToken
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is the native IMX token |
+**Symbol** | **string** | The symbol of token |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MarketplaceContractType.md b/src/Packages/ZkEvmApi/Documentation~/MarketplaceContractType.md
new file mode 100644
index 00000000..17646ae8
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MarketplaceContractType.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.MarketplaceContractType
+The contract type for a collection
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Metadata.md b/src/Packages/ZkEvmApi/Documentation~/Metadata.md
new file mode 100644
index 00000000..4ca01e98
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Metadata.md
@@ -0,0 +1,21 @@
+# Immutable.Api.ZkEvm.Model.Metadata
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **Guid** | Metadata id in UUIDv4 format |
+**Chain** | [**Chain**](Chain.md) | |
+**ContractAddress** | **string** | The contract address of the metadata |
+**CreatedAt** | **DateTime** | When the metadata was created |
+**UpdatedAt** | **DateTime?** | When the metadata was last updated |
+**Name** | **string** | The name of the NFT |
+**Description** | **string** | The description of the NFT |
+**Image** | **string** | The image url of the NFT |
+**ExternalUrl** | **string** | The external website link of NFT | [optional]
+**AnimationUrl** | **string** | The animation url of the NFT |
+**YoutubeUrl** | **string** | The youtube URL of NFT |
+**Attributes** | [**List<NFTMetadataAttribute>**](NFTMetadataAttribute.md) | List of Metadata attributes |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MetadataApi.md b/src/Packages/ZkEvmApi/Documentation~/MetadataApi.md
new file mode 100644
index 00000000..8139f4f4
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MetadataApi.md
@@ -0,0 +1,524 @@
+# Immutable.Api.ZkEvm.Api.MetadataApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**GetMetadata**](MetadataApi.md#getmetadata) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/metadata/{metadata_id} | Get metadata by ID |
+| [**ListMetadata**](MetadataApi.md#listmetadata) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/metadata | Get a list of metadata from the given contract |
+| [**ListMetadataForChain**](MetadataApi.md#listmetadataforchain) | **GET** /v1/chains/{chain_name}/metadata | Get a list of metadata from the given chain |
+| [**RefreshMetadataByID**](MetadataApi.md#refreshmetadatabyid) | **POST** /v1/chains/{chain_name}/collections/{contract_address}/metadata/refresh-metadata | Refresh stacked metadata |
+| [**RefreshNFTMetadataByTokenID**](MetadataApi.md#refreshnftmetadatabytokenid) | **POST** /v1/chains/{chain_name}/collections/{contract_address}/nfts/refresh-metadata | Refresh NFT metadata |
+
+
+# **GetMetadata**
+> GetMetadataResult GetMetadata (string chainName, string contractAddress, Guid metadataId)
+
+Get metadata by ID
+
+Get metadata by ID
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetMetadataExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new MetadataApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var contractAddress = 0xe9b00a87700f660e46b6f5deaa1232836bcc07d3; // string | The address of metadata contract
+ var metadataId = "metadataId_example"; // Guid | The id of the metadata
+
+ try
+ {
+ // Get metadata by ID
+ GetMetadataResult result = apiInstance.GetMetadata(chainName, contractAddress, metadataId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling MetadataApi.GetMetadata: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetMetadataWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get metadata by ID
+ ApiResponse response = apiInstance.GetMetadataWithHttpInfo(chainName, contractAddress, metadataId);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling MetadataApi.GetMetadataWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **contractAddress** | **string** | The address of metadata contract | |
+| **metadataId** | **Guid** | The id of the metadata | |
+
+### Return type
+
+[**GetMetadataResult**](GetMetadataResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListMetadata**
+> ListMetadataResult ListMetadata (string chainName, string contractAddress, DateTime? fromUpdatedAt = null, string? pageCursor = null, int? pageSize = null)
+
+Get a list of metadata from the given contract
+
+Get a list of metadata from the given contract
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListMetadataExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new MetadataApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var contractAddress = 0xe9b00a87700f660e46b6f5deaa1232836bcc07d3; // string | The address of metadata contract
+ var fromUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime? | Datetime to use as the oldest updated timestamp (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // Get a list of metadata from the given contract
+ ListMetadataResult result = apiInstance.ListMetadata(chainName, contractAddress, fromUpdatedAt, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling MetadataApi.ListMetadata: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListMetadataWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get a list of metadata from the given contract
+ ApiResponse response = apiInstance.ListMetadataWithHttpInfo(chainName, contractAddress, fromUpdatedAt, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling MetadataApi.ListMetadataWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **contractAddress** | **string** | The address of metadata contract | |
+| **fromUpdatedAt** | **DateTime?** | Datetime to use as the oldest updated timestamp | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListMetadataResult**](ListMetadataResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListMetadataForChain**
+> ListMetadataResult ListMetadataForChain (string chainName, DateTime? fromUpdatedAt = null, string? pageCursor = null, int? pageSize = null)
+
+Get a list of metadata from the given chain
+
+Get a list of metadata from the given chain
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListMetadataForChainExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new MetadataApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var fromUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime? | Datetime to use as the oldest updated timestamp (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // Get a list of metadata from the given chain
+ ListMetadataResult result = apiInstance.ListMetadataForChain(chainName, fromUpdatedAt, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling MetadataApi.ListMetadataForChain: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListMetadataForChainWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get a list of metadata from the given chain
+ ApiResponse response = apiInstance.ListMetadataForChainWithHttpInfo(chainName, fromUpdatedAt, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling MetadataApi.ListMetadataForChainWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **fromUpdatedAt** | **DateTime?** | Datetime to use as the oldest updated timestamp | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListMetadataResult**](ListMetadataResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **RefreshMetadataByID**
+> MetadataRefreshRateLimitResult RefreshMetadataByID (string chainName, string contractAddress, RefreshMetadataByIDRequest refreshMetadataByIDRequest)
+
+Refresh stacked metadata
+
+Refresh stacked metadata
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class RefreshMetadataByIDExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ // Configure API key authorization: ImmutableApiKey
+ config.AddApiKey("x-immutable-api-key", "YOUR_API_KEY");
+ // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+ // config.AddApiKeyPrefix("x-immutable-api-key", "Bearer");
+
+ var apiInstance = new MetadataApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var contractAddress = "contractAddress_example"; // string | Contract address
+ var refreshMetadataByIDRequest = new RefreshMetadataByIDRequest(); // RefreshMetadataByIDRequest | NFT Metadata Refresh Request
+
+ try
+ {
+ // Refresh stacked metadata
+ MetadataRefreshRateLimitResult result = apiInstance.RefreshMetadataByID(chainName, contractAddress, refreshMetadataByIDRequest);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling MetadataApi.RefreshMetadataByID: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the RefreshMetadataByIDWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Refresh stacked metadata
+ ApiResponse response = apiInstance.RefreshMetadataByIDWithHttpInfo(chainName, contractAddress, refreshMetadataByIDRequest);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling MetadataApi.RefreshMetadataByIDWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **contractAddress** | **string** | Contract address | |
+| **refreshMetadataByIDRequest** | [**RefreshMetadataByIDRequest**](RefreshMetadataByIDRequest.md) | NFT Metadata Refresh Request | |
+
+### Return type
+
+[**MetadataRefreshRateLimitResult**](MetadataRefreshRateLimitResult.md)
+
+### Authorization
+
+[ImmutableApiKey](../README.md#ImmutableApiKey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **202** | Accepted | * imx-refreshes-limit -
* imx-refresh-limit-reset -
* imx-remaining-refreshes -
* retry-after -
|
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **429** | Too Many Metadata refreshes (429) | * imx-refreshes-limit -
* imx-refresh-limit-reset -
* imx-remaining-refreshes -
* Retry-After -
|
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **RefreshNFTMetadataByTokenID**
+> MetadataRefreshRateLimitResult RefreshNFTMetadataByTokenID (string contractAddress, string chainName, RefreshNFTMetadataByTokenIDRequest refreshNFTMetadataByTokenIDRequest)
+
+Refresh NFT metadata
+
+Refresh NFT metadata
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class RefreshNFTMetadataByTokenIDExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ // Configure API key authorization: ImmutableApiKey
+ config.AddApiKey("x-immutable-api-key", "YOUR_API_KEY");
+ // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+ // config.AddApiKeyPrefix("x-immutable-api-key", "Bearer");
+
+ var apiInstance = new MetadataApi(config);
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string | The address of contract
+ var chainName = "chainName_example"; // string | The name of chain
+ var refreshNFTMetadataByTokenIDRequest = new RefreshNFTMetadataByTokenIDRequest(); // RefreshNFTMetadataByTokenIDRequest | the request body
+
+ try
+ {
+ // Refresh NFT metadata
+ MetadataRefreshRateLimitResult result = apiInstance.RefreshNFTMetadataByTokenID(contractAddress, chainName, refreshNFTMetadataByTokenIDRequest);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling MetadataApi.RefreshNFTMetadataByTokenID: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the RefreshNFTMetadataByTokenIDWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Refresh NFT metadata
+ ApiResponse response = apiInstance.RefreshNFTMetadataByTokenIDWithHttpInfo(contractAddress, chainName, refreshNFTMetadataByTokenIDRequest);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling MetadataApi.RefreshNFTMetadataByTokenIDWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | The address of contract | |
+| **chainName** | **string** | The name of chain | |
+| **refreshNFTMetadataByTokenIDRequest** | [**RefreshNFTMetadataByTokenIDRequest**](RefreshNFTMetadataByTokenIDRequest.md) | the request body | |
+
+### Return type
+
+[**MetadataRefreshRateLimitResult**](MetadataRefreshRateLimitResult.md)
+
+### Authorization
+
+[ImmutableApiKey](../README.md#ImmutableApiKey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **202** | Accepted | * imx-refreshes-limit -
* imx-refresh-limit-reset -
* imx-remaining-refreshes -
* retry-after -
|
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **429** | Too Many Metadata refreshes (429) | * imx-refreshes-limit -
* imx-refresh-limit-reset -
* imx-remaining-refreshes -
* Retry-After -
|
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MetadataRefreshRateLimitResult.md b/src/Packages/ZkEvmApi/Documentation~/MetadataRefreshRateLimitResult.md
new file mode 100644
index 00000000..98e8cd00
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MetadataRefreshRateLimitResult.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.MetadataRefreshRateLimitResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ImxRefreshesLimit** | **string** | |
+**ImxRefreshLimitReset** | **string** | |
+**ImxRemainingRefreshes** | **string** | |
+**RetryAfter** | **string** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Mint.md b/src/Packages/ZkEvmApi/Documentation~/Mint.md
new file mode 100644
index 00000000..2efc188d
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Mint.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.Mint
+The mint activity details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**To** | **string** | The account address the asset was minted to |
+**Amount** | **string** | The minted amount |
+**Asset** | [**ActivityAsset**](ActivityAsset.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MintAsset.md b/src/Packages/ZkEvmApi/Documentation~/MintAsset.md
new file mode 100644
index 00000000..05d9e5ad
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MintAsset.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.MintAsset
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ReferenceId** | **string** | The id of this asset in the system that originates the mint request |
+**OwnerAddress** | **string** | The address of the receiver |
+**TokenId** | **string** | An optional `uint256` token id as string. Required for ERC1155 collections. | [optional]
+**Amount** | **string** | Optional mount of tokens to mint. Required for ERC1155 collections. ERC712 collections can omit this field or set it to 1 | [optional]
+**Metadata** | [**NFTMetadataRequest**](NFTMetadataRequest.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MintRequestErrorMessage.md b/src/Packages/ZkEvmApi/Documentation~/MintRequestErrorMessage.md
new file mode 100644
index 00000000..a28a6c20
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MintRequestErrorMessage.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.MintRequestErrorMessage
+The error details in case the mint request fails
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Message** | **string** | An error message in case the mint request fails | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/MintRequestStatus.md b/src/Packages/ZkEvmApi/Documentation~/MintRequestStatus.md
new file mode 100644
index 00000000..8f3ff175
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/MintRequestStatus.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.MintRequestStatus
+The status of the mint request
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFT.md b/src/Packages/ZkEvmApi/Documentation~/NFT.md
new file mode 100644
index 00000000..1d5ac3ce
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFT.md
@@ -0,0 +1,26 @@
+# Immutable.Api.ZkEvm.Model.NFT
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**TokenId** | **string** | An `uint256` token id as string |
+**ContractAddress** | **string** | The contract address of the NFT |
+**ContractType** | **NFTContractType** | |
+**IndexedAt** | **DateTime** | When the NFT was first indexed |
+**UpdatedAt** | **DateTime** | When the NFT owner was last updated |
+**MetadataSyncedAt** | **DateTime?** | When NFT metadata was last synced |
+**MetadataId** | **Guid?** | The id of the metadata of this NFT | [optional]
+**Name** | **string** | The name of the NFT |
+**Description** | **string** | The description of the NFT |
+**Image** | **string** | The image url of the NFT |
+**ExternalLink** | **string** | (deprecated - use external_url instead) The external website link of NFT |
+**ExternalUrl** | **string** | The external website link of NFT |
+**AnimationUrl** | **string** | The animation url of the NFT |
+**YoutubeUrl** | **string** | The youtube URL of NFT |
+**Attributes** | [**List<NFTMetadataAttribute>**](NFTMetadataAttribute.md) | List of NFT Metadata attributes |
+**TotalSupply** | **string** | The total supply of NFT | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTBundle.md b/src/Packages/ZkEvmApi/Documentation~/NFTBundle.md
new file mode 100644
index 00000000..451cb0b0
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTBundle.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.NFTBundle
+NFT bundle includes NFT with stack, markets and listings
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**NftWithStack** | [**NFTWithStack**](NFTWithStack.md) | |
+**Market** | [**Market**](Market.md) | |
+**Listings** | [**List<Listing>**](Listing.md) | List of open listings for the stack. |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTContractType.md b/src/Packages/ZkEvmApi/Documentation~/NFTContractType.md
new file mode 100644
index 00000000..3bd36dda
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTContractType.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.NFTContractType
+The contract type for an NFT
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTMetadataAttribute.md b/src/Packages/ZkEvmApi/Documentation~/NFTMetadataAttribute.md
new file mode 100644
index 00000000..f1124e92
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTMetadataAttribute.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.NFTMetadataAttribute
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DisplayType** | **string** | Display type for this attribute | [optional]
+**TraitType** | **string** | The metadata trait type |
+**Value** | [**NFTMetadataAttributeValue**](NFTMetadataAttributeValue.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTMetadataAttributeValue.md b/src/Packages/ZkEvmApi/Documentation~/NFTMetadataAttributeValue.md
new file mode 100644
index 00000000..b52282a5
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTMetadataAttributeValue.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.NFTMetadataAttributeValue
+The metadata trait value
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTMetadataRequest.md b/src/Packages/ZkEvmApi/Documentation~/NFTMetadataRequest.md
new file mode 100644
index 00000000..2d5abc00
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTMetadataRequest.md
@@ -0,0 +1,17 @@
+# Immutable.Api.ZkEvm.Model.NFTMetadataRequest
+The NFT metadata. Total size of this object should not exceed 16 KiB
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | The name of the NFT | [optional]
+**Description** | **string** | The description of the NFT | [optional]
+**Image** | **string** | The image url of the NFT | [optional]
+**ExternalUrl** | **string** | The external link of the NFT | [optional]
+**AnimationUrl** | **string** | The animation url of the NFT | [optional]
+**YoutubeUrl** | **string** | The youtube link of the NFT | [optional]
+**Attributes** | [**List<NFTMetadataAttribute>**](NFTMetadataAttribute.md) | List of Metadata attributes | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTOwner.md b/src/Packages/ZkEvmApi/Documentation~/NFTOwner.md
new file mode 100644
index 00000000..1f00ca95
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTOwner.md
@@ -0,0 +1,15 @@
+# Immutable.Api.ZkEvm.Model.NFTOwner
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**ContractAddress** | **string** | The address of NFT contract |
+**TokenId** | **string** | An `uint256` token id as string |
+**AccountAddress** | **string** | The account address of the owner of the NFT |
+**Balance** | **string** | The amount of owned tokens (uint256 as string) |
+**UpdatedAt** | **DateTime** | When the NFT owner was last updated | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTQuoteResult.md b/src/Packages/ZkEvmApi/Documentation~/NFTQuoteResult.md
new file mode 100644
index 00000000..975a4bc1
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTQuoteResult.md
@@ -0,0 +1,15 @@
+# Immutable.Api.ZkEvm.Model.NFTQuoteResult
+NFT quote result
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**TokenId** | **string** | Token id of NFT (uint256 as string) |
+**MarketStack** | [**Market**](Market.md) | |
+**MarketNft** | [**MarketNft**](MarketNft.md) | |
+**MarketCollection** | [**Market**](Market.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTSale.md b/src/Packages/ZkEvmApi/Documentation~/NFTSale.md
new file mode 100644
index 00000000..4bc63c0e
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTSale.md
@@ -0,0 +1,15 @@
+# Immutable.Api.ZkEvm.Model.NFTSale
+The NFT Sale activity details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**OrderId** | **string** | The id of order |
+**To** | **string** | The account address of buyer |
+**From** | **string** | The account address of seller |
+**Asset** | [**List<ActivityNFT>**](ActivityNFT.md) | |
+**Payment** | [**SalePayment**](SalePayment.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTWithBalance.md b/src/Packages/ZkEvmApi/Documentation~/NFTWithBalance.md
new file mode 100644
index 00000000..868c6bfa
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTWithBalance.md
@@ -0,0 +1,25 @@
+# Immutable.Api.ZkEvm.Model.NFTWithBalance
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**TokenId** | **string** | An `uint256` token id as string |
+**ContractAddress** | **string** | The contract address of the NFT |
+**ContractType** | **NFTContractType** | |
+**IndexedAt** | **DateTime** | When the NFT was first indexed |
+**UpdatedAt** | **DateTime** | When the NFT owner was last updated |
+**MetadataSyncedAt** | **DateTime?** | When NFT metadata was last synced |
+**MetadataId** | **Guid?** | The id of the metadata of this NFT | [optional]
+**Name** | **string** | The name of the NFT |
+**Description** | **string** | The description of the NFT |
+**Image** | **string** | The image url of the NFT |
+**ExternalLink** | **string** | The external website link of NFT |
+**AnimationUrl** | **string** | The animation url of the NFT |
+**YoutubeUrl** | **string** | The youtube URL of NFT |
+**Attributes** | [**List<NFTMetadataAttribute>**](NFTMetadataAttribute.md) | List of Metadata attributes |
+**Balance** | **string** | The amount of this NFT this account owns |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTWithOwner.md b/src/Packages/ZkEvmApi/Documentation~/NFTWithOwner.md
new file mode 100644
index 00000000..472361b3
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTWithOwner.md
@@ -0,0 +1,15 @@
+# Immutable.Api.ZkEvm.Model.NFTWithOwner
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**ContractAddress** | **string** | The address of NFT contract |
+**TokenId** | **string** | An `uint256` token id as string |
+**AccountAddress** | **string** | The account address of the owner of the NFT |
+**Balance** | **string** | The amount of owned tokens (uint256 as string) |
+**UpdatedAt** | **DateTime** | When the owner last changed for the given NFT |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NFTWithStack.md b/src/Packages/ZkEvmApi/Documentation~/NFTWithStack.md
new file mode 100644
index 00000000..b95b1fbd
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NFTWithStack.md
@@ -0,0 +1,25 @@
+# Immutable.Api.ZkEvm.Model.NFTWithStack
+Stack
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**TokenId** | **string** | Token id of NFT (uint256 as string) |
+**StackId** | **Guid** | Stack ID |
+**Chain** | [**Chain**](Chain.md) | |
+**ContractAddress** | **string** | Contract address |
+**ContractType** | **MarketplaceContractType** | |
+**CreatedAt** | **DateTime** | When the metadata was created |
+**UpdatedAt** | **DateTime** | When the metadata was last updated |
+**Name** | **string** | The name of the NFT |
+**Description** | **string** | The description of the NFT |
+**Image** | **string** | The image url of the NFT |
+**ExternalUrl** | **string** | The external website link of NFT |
+**AnimationUrl** | **string** | The animation url of the NFT |
+**YoutubeUrl** | **string** | The youtube URL of NFT |
+**Attributes** | [**List<NFTMetadataAttribute>**](NFTMetadataAttribute.md) | List of Metadata attributes |
+**Balance** | **int?** | Balance of NFT |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NativeItem.md b/src/Packages/ZkEvmApi/Documentation~/NativeItem.md
new file mode 100644
index 00000000..dc6449a5
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NativeItem.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.NativeItem
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | Token type user is offering, which in this case is the native IMX token |
+**Amount** | **string** | A string representing the price at which the user is willing to sell the token. This value is provided in the smallest unit of the token (e.g., wei for Ethereum). |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NftOwnersApi.md b/src/Packages/ZkEvmApi/Documentation~/NftOwnersApi.md
new file mode 100644
index 00000000..86f0d1d8
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NftOwnersApi.md
@@ -0,0 +1,316 @@
+# Immutable.Api.ZkEvm.Api.NftOwnersApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**ListAllNFTOwners**](NftOwnersApi.md#listallnftowners) | **GET** /v1/chains/{chain_name}/nft-owners | List all NFT owners |
+| [**ListNFTOwners**](NftOwnersApi.md#listnftowners) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/nfts/{token_id}/owners | List NFT owners by token ID |
+| [**ListOwnersByContractAddress**](NftOwnersApi.md#listownersbycontractaddress) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/owners | List owners by contract address |
+
+
+# **ListAllNFTOwners**
+> ListNFTOwnersResult ListAllNFTOwners (string chainName, DateTime? fromUpdatedAt = null, string? pageCursor = null, int? pageSize = null)
+
+List all NFT owners
+
+List all NFT owners on a chain
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListAllNFTOwnersExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new NftOwnersApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var fromUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime? | Datetime to use as the oldest updated timestamp (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List all NFT owners
+ ListNFTOwnersResult result = apiInstance.ListAllNFTOwners(chainName, fromUpdatedAt, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling NftOwnersApi.ListAllNFTOwners: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListAllNFTOwnersWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List all NFT owners
+ ApiResponse response = apiInstance.ListAllNFTOwnersWithHttpInfo(chainName, fromUpdatedAt, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling NftOwnersApi.ListAllNFTOwnersWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **fromUpdatedAt** | **DateTime?** | Datetime to use as the oldest updated timestamp | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListNFTOwnersResult**](ListNFTOwnersResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListNFTOwners**
+> ListNFTOwnersResult ListNFTOwners (string contractAddress, string tokenId, string chainName, string? pageCursor = null, int? pageSize = null)
+
+List NFT owners by token ID
+
+List NFT owners by token ID
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListNFTOwnersExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new NftOwnersApi(config);
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string | The address of contract
+ var tokenId = 1; // string | An `uint256` token id as string
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List NFT owners by token ID
+ ListNFTOwnersResult result = apiInstance.ListNFTOwners(contractAddress, tokenId, chainName, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling NftOwnersApi.ListNFTOwners: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListNFTOwnersWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List NFT owners by token ID
+ ApiResponse response = apiInstance.ListNFTOwnersWithHttpInfo(contractAddress, tokenId, chainName, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling NftOwnersApi.ListNFTOwnersWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | The address of contract | |
+| **tokenId** | **string** | An `uint256` token id as string | |
+| **chainName** | **string** | The name of chain | |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListNFTOwnersResult**](ListNFTOwnersResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListOwnersByContractAddress**
+> ListCollectionOwnersResult ListOwnersByContractAddress (string contractAddress, string chainName, List? accountAddress = null, DateTime? fromUpdatedAt = null, string? pageCursor = null, int? pageSize = null)
+
+List owners by contract address
+
+List owners by contract address
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListOwnersByContractAddressExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new NftOwnersApi(config);
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string | The address of contract
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var accountAddress = new List?(); // List? | List of account addresses to filter by (optional)
+ var fromUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime? | Datetime to use as the oldest updated timestamp (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List owners by contract address
+ ListCollectionOwnersResult result = apiInstance.ListOwnersByContractAddress(contractAddress, chainName, accountAddress, fromUpdatedAt, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling NftOwnersApi.ListOwnersByContractAddress: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListOwnersByContractAddressWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List owners by contract address
+ ApiResponse response = apiInstance.ListOwnersByContractAddressWithHttpInfo(contractAddress, chainName, accountAddress, fromUpdatedAt, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling NftOwnersApi.ListOwnersByContractAddressWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | The address of contract | |
+| **chainName** | **string** | The name of chain | |
+| **accountAddress** | [**List<string>?**](string.md) | List of account addresses to filter by | [optional] |
+| **fromUpdatedAt** | **DateTime?** | Datetime to use as the oldest updated timestamp | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListCollectionOwnersResult**](ListCollectionOwnersResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/NftsApi.md b/src/Packages/ZkEvmApi/Documentation~/NftsApi.md
new file mode 100644
index 00000000..eb7b0767
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/NftsApi.md
@@ -0,0 +1,743 @@
+# Immutable.Api.ZkEvm.Api.NftsApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**CreateMintRequest**](NftsApi.md#createmintrequest) | **POST** /v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests | Mint NFTs |
+| [**GetMintRequest**](NftsApi.md#getmintrequest) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests/{reference_id} | Get mint request by reference ID |
+| [**GetNFT**](NftsApi.md#getnft) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/nfts/{token_id} | Get NFT by token ID |
+| [**ListAllNFTs**](NftsApi.md#listallnfts) | **GET** /v1/chains/{chain_name}/nfts | List all NFTs |
+| [**ListMintRequests**](NftsApi.md#listmintrequests) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests | List mint requests |
+| [**ListNFTs**](NftsApi.md#listnfts) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/nfts | List NFTs by contract address |
+| [**ListNFTsByAccountAddress**](NftsApi.md#listnftsbyaccountaddress) | **GET** /v1/chains/{chain_name}/accounts/{account_address}/nfts | List NFTs by account address |
+
+
+# **CreateMintRequest**
+> CreateMintRequestResult CreateMintRequest (string contractAddress, string chainName, CreateMintRequestRequest createMintRequestRequest)
+
+Mint NFTs
+
+Create a mint request to mint a set of NFTs for a given collection
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class CreateMintRequestExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ // Configure API key authorization: ImmutableApiKey
+ config.AddApiKey("x-immutable-api-key", "YOUR_API_KEY");
+ // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+ // config.AddApiKeyPrefix("x-immutable-api-key", "Bearer");
+
+ var apiInstance = new NftsApi(config);
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string | The address of contract
+ var chainName = "chainName_example"; // string | The name of chain
+ var createMintRequestRequest = new CreateMintRequestRequest(); // CreateMintRequestRequest | Create Mint Request Body
+
+ try
+ {
+ // Mint NFTs
+ CreateMintRequestResult result = apiInstance.CreateMintRequest(contractAddress, chainName, createMintRequestRequest);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling NftsApi.CreateMintRequest: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the CreateMintRequestWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Mint NFTs
+ ApiResponse response = apiInstance.CreateMintRequestWithHttpInfo(contractAddress, chainName, createMintRequestRequest);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling NftsApi.CreateMintRequestWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | The address of contract | |
+| **chainName** | **string** | The name of chain | |
+| **createMintRequestRequest** | [**CreateMintRequestRequest**](CreateMintRequestRequest.md) | Create Mint Request Body | |
+
+### Return type
+
+[**CreateMintRequestResult**](CreateMintRequestResult.md)
+
+### Authorization
+
+[ImmutableApiKey](../README.md#ImmutableApiKey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **202** | Accepted | * imx-mint-requests-limit -
* imx-mint-requests-limit-reset -
* imx-remaining-mint-requests -
* imx-mint-requests-retry-after -
|
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **409** | Conflict (409) | - |
+| **429** | Too Many mint requests (429) | * imx-mint-requests-limit -
* imx-mint-requests-limit-reset -
* imx-remaining-mint-requests -
* imx-mint-requests-retry-after -
* Retry-After -
|
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **GetMintRequest**
+> ListMintRequestsResult GetMintRequest (string contractAddress, string chainName, string referenceId)
+
+Get mint request by reference ID
+
+Retrieve the status of a mint request identified by its reference_id
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetMintRequestExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ // Configure API key authorization: ImmutableApiKey
+ config.AddApiKey("x-immutable-api-key", "YOUR_API_KEY");
+ // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+ // config.AddApiKeyPrefix("x-immutable-api-key", "Bearer");
+
+ var apiInstance = new NftsApi(config);
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string | The address of contract
+ var chainName = "chainName_example"; // string | The name of chain
+ var referenceId = 67f7d464-b8f0-4f6a-9a3b-8d3cb4a21af0; // string | The id of the mint request
+
+ try
+ {
+ // Get mint request by reference ID
+ ListMintRequestsResult result = apiInstance.GetMintRequest(contractAddress, chainName, referenceId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling NftsApi.GetMintRequest: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetMintRequestWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get mint request by reference ID
+ ApiResponse response = apiInstance.GetMintRequestWithHttpInfo(contractAddress, chainName, referenceId);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling NftsApi.GetMintRequestWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | The address of contract | |
+| **chainName** | **string** | The name of chain | |
+| **referenceId** | **string** | The id of the mint request | |
+
+### Return type
+
+[**ListMintRequestsResult**](ListMintRequestsResult.md)
+
+### Authorization
+
+[ImmutableApiKey](../README.md#ImmutableApiKey)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **GetNFT**
+> GetNFTResult GetNFT (string contractAddress, string tokenId, string chainName)
+
+Get NFT by token ID
+
+Get NFT by token ID
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetNFTExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new NftsApi(config);
+ var contractAddress = 0xe9b00a87700f660e46b6f5deaa1232836bcc07d3; // string | The address of NFT contract
+ var tokenId = 1; // string | An `uint256` token id as string
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+
+ try
+ {
+ // Get NFT by token ID
+ GetNFTResult result = apiInstance.GetNFT(contractAddress, tokenId, chainName);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling NftsApi.GetNFT: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetNFTWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get NFT by token ID
+ ApiResponse response = apiInstance.GetNFTWithHttpInfo(contractAddress, tokenId, chainName);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling NftsApi.GetNFTWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | The address of NFT contract | |
+| **tokenId** | **string** | An `uint256` token id as string | |
+| **chainName** | **string** | The name of chain | |
+
+### Return type
+
+[**GetNFTResult**](GetNFTResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListAllNFTs**
+> ListNFTsResult ListAllNFTs (string chainName, DateTime? fromUpdatedAt = null, string? pageCursor = null, int? pageSize = null)
+
+List all NFTs
+
+List all NFTs on a chain
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListAllNFTsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new NftsApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var fromUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime? | Datetime to use as the oldest updated timestamp (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List all NFTs
+ ListNFTsResult result = apiInstance.ListAllNFTs(chainName, fromUpdatedAt, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling NftsApi.ListAllNFTs: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListAllNFTsWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List all NFTs
+ ApiResponse response = apiInstance.ListAllNFTsWithHttpInfo(chainName, fromUpdatedAt, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling NftsApi.ListAllNFTsWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **fromUpdatedAt** | **DateTime?** | Datetime to use as the oldest updated timestamp | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListNFTsResult**](ListNFTsResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListMintRequests**
+> ListMintRequestsResult ListMintRequests (string contractAddress, string chainName, string? pageCursor = null, int? pageSize = null, MintRequestStatus? status = null)
+
+List mint requests
+
+Retrieve the status of all mints for a given contract address
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListMintRequestsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ // Configure API key authorization: ImmutableApiKey
+ config.AddApiKey("x-immutable-api-key", "YOUR_API_KEY");
+ // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+ // config.AddApiKeyPrefix("x-immutable-api-key", "Bearer");
+
+ var apiInstance = new NftsApi(config);
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string | The address of contract
+ var chainName = "chainName_example"; // string | The name of chain
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+ var status = new MintRequestStatus?(); // MintRequestStatus? | The status of the mint request (optional)
+
+ try
+ {
+ // List mint requests
+ ListMintRequestsResult result = apiInstance.ListMintRequests(contractAddress, chainName, pageCursor, pageSize, status);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling NftsApi.ListMintRequests: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListMintRequestsWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List mint requests
+ ApiResponse response = apiInstance.ListMintRequestsWithHttpInfo(contractAddress, chainName, pageCursor, pageSize, status);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling NftsApi.ListMintRequestsWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | The address of contract | |
+| **chainName** | **string** | The name of chain | |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+| **status** | [**MintRequestStatus?**](MintRequestStatus?.md) | The status of the mint request | [optional] |
+
+### Return type
+
+[**ListMintRequestsResult**](ListMintRequestsResult.md)
+
+### Authorization
+
+[ImmutableApiKey](../README.md#ImmutableApiKey)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListNFTs**
+> ListNFTsResult ListNFTs (string contractAddress, string chainName, List? tokenId = null, DateTime? fromUpdatedAt = null, string? pageCursor = null, int? pageSize = null)
+
+List NFTs by contract address
+
+List NFTs by contract address
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListNFTsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new NftsApi(config);
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string | Contract address
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var tokenId = new List?(); // List? | List of token IDs to filter by (optional)
+ var fromUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime? | Datetime to use as the oldest updated timestamp (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List NFTs by contract address
+ ListNFTsResult result = apiInstance.ListNFTs(contractAddress, chainName, tokenId, fromUpdatedAt, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling NftsApi.ListNFTs: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListNFTsWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List NFTs by contract address
+ ApiResponse response = apiInstance.ListNFTsWithHttpInfo(contractAddress, chainName, tokenId, fromUpdatedAt, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling NftsApi.ListNFTsWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | Contract address | |
+| **chainName** | **string** | The name of chain | |
+| **tokenId** | [**List<string>?**](string.md) | List of token IDs to filter by | [optional] |
+| **fromUpdatedAt** | **DateTime?** | Datetime to use as the oldest updated timestamp | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListNFTsResult**](ListNFTsResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListNFTsByAccountAddress**
+> ListNFTsByOwnerResult ListNFTsByAccountAddress (string accountAddress, string chainName, string? contractAddress = null, List? tokenId = null, DateTime? fromUpdatedAt = null, string? pageCursor = null, int? pageSize = null)
+
+List NFTs by account address
+
+List NFTs by account address
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListNFTsByAccountAddressExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new NftsApi(config);
+ var accountAddress = 0xe9b00a87700f660e46b6f5deaa1232836bcc07d3; // string | Account address
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string? | The address of contract (optional)
+ var tokenId = new List?(); // List? | List of token IDs to filter by (optional)
+ var fromUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime? | Datetime to use as the oldest updated timestamp (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List NFTs by account address
+ ListNFTsByOwnerResult result = apiInstance.ListNFTsByAccountAddress(accountAddress, chainName, contractAddress, tokenId, fromUpdatedAt, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling NftsApi.ListNFTsByAccountAddress: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListNFTsByAccountAddressWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List NFTs by account address
+ ApiResponse response = apiInstance.ListNFTsByAccountAddressWithHttpInfo(accountAddress, chainName, contractAddress, tokenId, fromUpdatedAt, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling NftsApi.ListNFTsByAccountAddressWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **accountAddress** | **string** | Account address | |
+| **chainName** | **string** | The name of chain | |
+| **contractAddress** | **string?** | The address of contract | [optional] |
+| **tokenId** | [**List<string>?**](string.md) | List of token IDs to filter by | [optional] |
+| **fromUpdatedAt** | **DateTime?** | Datetime to use as the oldest updated timestamp | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListNFTsByOwnerResult**](ListNFTsByOwnerResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistContractStatus.md b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistContractStatus.md
new file mode 100644
index 00000000..5e15c97b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistContractStatus.md
@@ -0,0 +1,15 @@
+# Immutable.Api.ZkEvm.Model.OperatorAllowlistContractStatus
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**ContractAddress** | **string** | The address of the contract |
+**Status** | **OperatorAllowlistStatus** | |
+**Details** | [**OperatorAllowlistStatusDetails**](OperatorAllowlistStatusDetails.md) | |
+**CreatedAt** | **DateTime** | When the contract status was created |
+**CreatedBy** | **string** | Who created the status |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistContractStatusInternal.md b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistContractStatusInternal.md
new file mode 100644
index 00000000..13e8be6b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistContractStatusInternal.md
@@ -0,0 +1,17 @@
+# Immutable.Api.ZkEvm.Model.OperatorAllowlistContractStatusInternal
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**ContractAddress** | **string** | The address of the contract |
+**Status** | **OperatorAllowlistStatus** | |
+**Details** | [**OperatorAllowlistStatusDetails**](OperatorAllowlistStatusDetails.md) | |
+**CreatedAt** | **DateTime** | When the contract status was created |
+**CreatedBy** | **string** | Who created the status |
+**OrgName** | **string** | The name of the organisation associated with this contract |
+**OrgTier** | **OrganisationTier** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatus.md b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatus.md
new file mode 100644
index 00000000..a818086e
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatus.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.OperatorAllowlistStatus
+The status of a contract on the operator allowlist
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatusDetails.md b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatusDetails.md
new file mode 100644
index 00000000..b36ca5f0
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatusDetails.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.OperatorAllowlistStatusDetails
+The operator allowlist status details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Purpose** | **string** | Reason this contract needs to be added |
+**IsSettlementContract** | **bool** | Attestation of whether this contract is a settlement contract |
+**Reason** | **string** | Why this action was performed |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatusRequested.md b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatusRequested.md
new file mode 100644
index 00000000..96df3eda
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatusRequested.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.OperatorAllowlistStatusRequested
+The request details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Purpose** | **string** | Reason this contract needs to be added |
+**IsSettlementContract** | **bool** | Attestation of whether this contract is a settlement contract |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatusUpdated.md b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatusUpdated.md
new file mode 100644
index 00000000..c130cc93
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/OperatorAllowlistStatusUpdated.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.OperatorAllowlistStatusUpdated
+The update details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Reason** | **string** | Why this action was performed |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Order.md b/src/Packages/ZkEvmApi/Documentation~/Order.md
new file mode 100644
index 00000000..f6986b2a
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Order.md
@@ -0,0 +1,26 @@
+# Immutable.Api.ZkEvm.Model.Order
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**AccountAddress** | **string** | |
+**Buy** | [**List<Item>**](Item.md) | |
+**Fees** | [**List<Fee>**](Fee.md) | |
+**Chain** | [**Chain**](Chain.md) | |
+**CreatedAt** | **DateTime** | Time the Order is created |
+**EndAt** | **DateTime** | Time after which the Order is considered expired |
+**Id** | **string** | Global Order identifier |
+**OrderHash** | **string** | |
+**ProtocolData** | [**ProtocolData**](ProtocolData.md) | |
+**Salt** | **string** | A random value added to the create Order request |
+**Sell** | [**List<Item>**](Item.md) | |
+**Signature** | **string** | Digital signature generated by the user for the specific Order |
+**StartAt** | **DateTime** | Time after which Order is considered active |
+**Status** | [**OrderStatus**](OrderStatus.md) | |
+**Type** | **string** | Order type |
+**UpdatedAt** | **DateTime** | Time the Order is last updated |
+**FillStatus** | [**FillStatus**](FillStatus.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/OrderStatus.md b/src/Packages/ZkEvmApi/Documentation~/OrderStatus.md
new file mode 100644
index 00000000..e2bae896
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/OrderStatus.md
@@ -0,0 +1,17 @@
+# Immutable.Api.ZkEvm.Model.OrderStatus
+The Order status
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | A terminal order status indicating that an order cannot be fulfilled due to expiry. |
+**Pending** | **bool** | Whether the cancellation of the order is pending |
+**CancellationType** | **string** | Whether the cancellation was done on-chain or off-chain or as a result of an underfunded account |
+**Evaluated** | **bool** | Whether the order has been evaluated after its creation |
+**Started** | **bool** | Whether the order has reached its specified start time |
+**SufficientApprovals** | **bool** | Whether the order offerer has sufficient approvals |
+**SufficientBalances** | **bool** | Whether the order offerer still has sufficient balance to complete the order |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/OrderStatusName.md b/src/Packages/ZkEvmApi/Documentation~/OrderStatusName.md
new file mode 100644
index 00000000..370515b2
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/OrderStatusName.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.OrderStatusName
+The Order status
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/OrdersApi.md b/src/Packages/ZkEvmApi/Documentation~/OrdersApi.md
new file mode 100644
index 00000000..c3fa7ed3
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/OrdersApi.md
@@ -0,0 +1,1343 @@
+# Immutable.Api.ZkEvm.Api.OrdersApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**CancelOrders**](OrdersApi.md#cancelorders) | **POST** /v1/chains/{chain_name}/orders/cancel | Cancel one or more orders |
+| [**CreateBid**](OrdersApi.md#createbid) | **POST** /v1/chains/{chain_name}/orders/bids | Create a bid |
+| [**CreateCollectionBid**](OrdersApi.md#createcollectionbid) | **POST** /v1/chains/{chain_name}/orders/collection-bids | Create a collection bid |
+| [**CreateListing**](OrdersApi.md#createlisting) | **POST** /v1/chains/{chain_name}/orders/listings | Create a listing |
+| [**FulfillmentData**](OrdersApi.md#fulfillmentdata) | **POST** /v1/chains/{chain_name}/orders/fulfillment-data | Retrieve fulfillment data for orders |
+| [**GetBid**](OrdersApi.md#getbid) | **GET** /v1/chains/{chain_name}/orders/bids/{bid_id} | Get a single bid by ID |
+| [**GetCollectionBid**](OrdersApi.md#getcollectionbid) | **GET** /v1/chains/{chain_name}/orders/collection-bids/{collection_bid_id} | Get a single collection bid by ID |
+| [**GetListing**](OrdersApi.md#getlisting) | **GET** /v1/chains/{chain_name}/orders/listings/{listing_id} | Get a single listing by ID |
+| [**GetTrade**](OrdersApi.md#gettrade) | **GET** /v1/chains/{chain_name}/trades/{trade_id} | Get a single trade by ID |
+| [**ListBids**](OrdersApi.md#listbids) | **GET** /v1/chains/{chain_name}/orders/bids | List all bids |
+| [**ListCollectionBids**](OrdersApi.md#listcollectionbids) | **GET** /v1/chains/{chain_name}/orders/collection-bids | List all collection bids |
+| [**ListListings**](OrdersApi.md#listlistings) | **GET** /v1/chains/{chain_name}/orders/listings | List all listings |
+| [**ListTrades**](OrdersApi.md#listtrades) | **GET** /v1/chains/{chain_name}/trades | List all trades |
+
+
+# **CancelOrders**
+> CancelOrdersResult CancelOrders (string chainName, CancelOrdersRequestBody cancelOrdersRequestBody)
+
+Cancel one or more orders
+
+Cancel one or more orders
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class CancelOrdersExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var cancelOrdersRequestBody = new CancelOrdersRequestBody(); // CancelOrdersRequestBody |
+
+ try
+ {
+ // Cancel one or more orders
+ CancelOrdersResult result = apiInstance.CancelOrders(chainName, cancelOrdersRequestBody);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.CancelOrders: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the CancelOrdersWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Cancel one or more orders
+ ApiResponse response = apiInstance.CancelOrdersWithHttpInfo(chainName, cancelOrdersRequestBody);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.CancelOrdersWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **cancelOrdersRequestBody** | [**CancelOrdersRequestBody**](CancelOrdersRequestBody.md) | | |
+
+### Return type
+
+[**CancelOrdersResult**](CancelOrdersResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Orders cancellation response. | - |
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **404** | The specified resource was not found (404) | - |
+| **429** | Too Many Requests (429) | * Retry-After -
|
+| **500** | Internal Server Error (500) | - |
+| **501** | Not Implemented Error (501) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **CreateBid**
+> BidResult CreateBid (string chainName, CreateBidRequestBody createBidRequestBody)
+
+Create a bid
+
+Create a bid
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class CreateBidExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var createBidRequestBody = new CreateBidRequestBody(); // CreateBidRequestBody |
+
+ try
+ {
+ // Create a bid
+ BidResult result = apiInstance.CreateBid(chainName, createBidRequestBody);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.CreateBid: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the CreateBidWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Create a bid
+ ApiResponse response = apiInstance.CreateBidWithHttpInfo(chainName, createBidRequestBody);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.CreateBidWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **createBidRequestBody** | [**CreateBidRequestBody**](CreateBidRequestBody.md) | | |
+
+### Return type
+
+[**BidResult**](BidResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **201** | Created response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+| **501** | Not Implemented Error (501) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **CreateCollectionBid**
+> CollectionBidResult CreateCollectionBid (string chainName, CreateCollectionBidRequestBody createCollectionBidRequestBody)
+
+Create a collection bid
+
+Create a collection bid
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class CreateCollectionBidExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var createCollectionBidRequestBody = new CreateCollectionBidRequestBody(); // CreateCollectionBidRequestBody |
+
+ try
+ {
+ // Create a collection bid
+ CollectionBidResult result = apiInstance.CreateCollectionBid(chainName, createCollectionBidRequestBody);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.CreateCollectionBid: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the CreateCollectionBidWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Create a collection bid
+ ApiResponse response = apiInstance.CreateCollectionBidWithHttpInfo(chainName, createCollectionBidRequestBody);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.CreateCollectionBidWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **createCollectionBidRequestBody** | [**CreateCollectionBidRequestBody**](CreateCollectionBidRequestBody.md) | | |
+
+### Return type
+
+[**CollectionBidResult**](CollectionBidResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **201** | Created response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+| **501** | Not Implemented Error (501) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **CreateListing**
+> ListingResult CreateListing (string chainName, CreateListingRequestBody createListingRequestBody)
+
+Create a listing
+
+Create a listing
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class CreateListingExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var createListingRequestBody = new CreateListingRequestBody(); // CreateListingRequestBody |
+
+ try
+ {
+ // Create a listing
+ ListingResult result = apiInstance.CreateListing(chainName, createListingRequestBody);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.CreateListing: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the CreateListingWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Create a listing
+ ApiResponse response = apiInstance.CreateListingWithHttpInfo(chainName, createListingRequestBody);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.CreateListingWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **createListingRequestBody** | [**CreateListingRequestBody**](CreateListingRequestBody.md) | | |
+
+### Return type
+
+[**ListingResult**](ListingResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **201** | Created response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **FulfillmentData**
+> FulfillmentData200Response FulfillmentData (string chainName, List fulfillmentDataRequest)
+
+Retrieve fulfillment data for orders
+
+Retrieve signed fulfillment data based on the list of order IDs and corresponding fees.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class FulfillmentDataExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var fulfillmentDataRequest = new List(); // List |
+
+ try
+ {
+ // Retrieve fulfillment data for orders
+ FulfillmentData200Response result = apiInstance.FulfillmentData(chainName, fulfillmentDataRequest);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.FulfillmentData: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the FulfillmentDataWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Retrieve fulfillment data for orders
+ ApiResponse response = apiInstance.FulfillmentDataWithHttpInfo(chainName, fulfillmentDataRequest);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.FulfillmentDataWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **fulfillmentDataRequest** | [**List<FulfillmentDataRequest>**](FulfillmentDataRequest.md) | | |
+
+### Return type
+
+[**FulfillmentData200Response**](FulfillmentData200Response.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Successful response | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **GetBid**
+> BidResult GetBid (string chainName, Guid bidId)
+
+Get a single bid by ID
+
+Get a single bid by ID
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetBidExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var bidId = 018792c9-4ad7-8ec4-4038-9e05c598534a; // Guid | Global Bid identifier
+
+ try
+ {
+ // Get a single bid by ID
+ BidResult result = apiInstance.GetBid(chainName, bidId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.GetBid: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetBidWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get a single bid by ID
+ ApiResponse response = apiInstance.GetBidWithHttpInfo(chainName, bidId);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.GetBidWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **bidId** | **Guid** | Global Bid identifier | |
+
+### Return type
+
+[**BidResult**](BidResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **GetCollectionBid**
+> CollectionBidResult GetCollectionBid (string chainName, Guid collectionBidId)
+
+Get a single collection bid by ID
+
+Get a single collection bid by ID
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetCollectionBidExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var collectionBidId = 018792c9-4ad7-8ec4-4038-9e05c598534a; // Guid | Global Collection Bid identifier
+
+ try
+ {
+ // Get a single collection bid by ID
+ CollectionBidResult result = apiInstance.GetCollectionBid(chainName, collectionBidId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.GetCollectionBid: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetCollectionBidWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get a single collection bid by ID
+ ApiResponse response = apiInstance.GetCollectionBidWithHttpInfo(chainName, collectionBidId);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.GetCollectionBidWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **collectionBidId** | **Guid** | Global Collection Bid identifier | |
+
+### Return type
+
+[**CollectionBidResult**](CollectionBidResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **GetListing**
+> ListingResult GetListing (string chainName, Guid listingId)
+
+Get a single listing by ID
+
+Get a single listing by ID
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetListingExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var listingId = 018792c9-4ad7-8ec4-4038-9e05c598534a; // Guid | Global Order identifier
+
+ try
+ {
+ // Get a single listing by ID
+ ListingResult result = apiInstance.GetListing(chainName, listingId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.GetListing: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetListingWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get a single listing by ID
+ ApiResponse response = apiInstance.GetListingWithHttpInfo(chainName, listingId);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.GetListingWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **listingId** | **Guid** | Global Order identifier | |
+
+### Return type
+
+[**ListingResult**](ListingResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **GetTrade**
+> TradeResult GetTrade (string chainName, Guid tradeId)
+
+Get a single trade by ID
+
+Get a single trade by ID
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetTradeExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var tradeId = 018792c9-4ad7-8ec4-4038-9e05c598534a; // Guid | Global Trade identifier
+
+ try
+ {
+ // Get a single trade by ID
+ TradeResult result = apiInstance.GetTrade(chainName, tradeId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.GetTrade: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetTradeWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get a single trade by ID
+ ApiResponse response = apiInstance.GetTradeWithHttpInfo(chainName, tradeId);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.GetTradeWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **tradeId** | **Guid** | Global Trade identifier | |
+
+### Return type
+
+[**TradeResult**](TradeResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListBids**
+> ListBidsResult ListBids (string chainName, OrderStatusName? status = null, string? buyItemContractAddress = null, string? sellItemContractAddress = null, string? accountAddress = null, Guid? buyItemMetadataId = null, string? buyItemTokenId = null, DateTime? fromUpdatedAt = null, int? pageSize = null, string? sortBy = null, string? sortDirection = null, string? pageCursor = null)
+
+List all bids
+
+List all bids
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListBidsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var status = new OrderStatusName?(); // OrderStatusName? | Order status to filter by (optional)
+ var buyItemContractAddress = 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266; // string? | Buy item contract address to filter by (optional)
+ var sellItemContractAddress = 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266; // string? | Sell item contract address to filter by (optional)
+ var accountAddress = 0xc49Fd6e51aad88F6F4ce6aB8827279cffFb92266; // string? | The account address of the user who created the bid (optional)
+ var buyItemMetadataId = 020792c9-4ad7-8ec4-4038-9e05c598535b; // Guid? | The metadata_id of the buy item (optional)
+ var buyItemTokenId = 1; // string? | buy item token identifier to filter by (optional)
+ var fromUpdatedAt = 2022-03-09T05:00:50.520Z; // DateTime? | From updated at including given date (optional)
+ var pageSize = 100; // int? | Maximum number of orders to return per page (optional) (default to 100)
+ var sortBy = created_at; // string? | Order field to sort by. `sell_item_amount` sorts by per token price, for example if 10eth is offered for 5 ERC1155 items, it’s sorted as 2eth for `sell_item_amount`. (optional)
+ var sortDirection = asc; // string? | Ascending or descending direction for sort (optional)
+ var pageCursor = "pageCursor_example"; // string? | Page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+
+ try
+ {
+ // List all bids
+ ListBidsResult result = apiInstance.ListBids(chainName, status, buyItemContractAddress, sellItemContractAddress, accountAddress, buyItemMetadataId, buyItemTokenId, fromUpdatedAt, pageSize, sortBy, sortDirection, pageCursor);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.ListBids: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListBidsWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List all bids
+ ApiResponse response = apiInstance.ListBidsWithHttpInfo(chainName, status, buyItemContractAddress, sellItemContractAddress, accountAddress, buyItemMetadataId, buyItemTokenId, fromUpdatedAt, pageSize, sortBy, sortDirection, pageCursor);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.ListBidsWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **status** | [**OrderStatusName?**](OrderStatusName?.md) | Order status to filter by | [optional] |
+| **buyItemContractAddress** | **string?** | Buy item contract address to filter by | [optional] |
+| **sellItemContractAddress** | **string?** | Sell item contract address to filter by | [optional] |
+| **accountAddress** | **string?** | The account address of the user who created the bid | [optional] |
+| **buyItemMetadataId** | **Guid?** | The metadata_id of the buy item | [optional] |
+| **buyItemTokenId** | **string?** | buy item token identifier to filter by | [optional] |
+| **fromUpdatedAt** | **DateTime?** | From updated at including given date | [optional] |
+| **pageSize** | **int?** | Maximum number of orders to return per page | [optional] [default to 100] |
+| **sortBy** | **string?** | Order field to sort by. `sell_item_amount` sorts by per token price, for example if 10eth is offered for 5 ERC1155 items, it’s sorted as 2eth for `sell_item_amount`. | [optional] |
+| **sortDirection** | **string?** | Ascending or descending direction for sort | [optional] |
+| **pageCursor** | **string?** | Page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+
+### Return type
+
+[**ListBidsResult**](ListBidsResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListCollectionBids**
+> ListCollectionBidsResult ListCollectionBids (string chainName, OrderStatusName? status = null, string? buyItemContractAddress = null, string? sellItemContractAddress = null, string? accountAddress = null, DateTime? fromUpdatedAt = null, int? pageSize = null, string? sortBy = null, string? sortDirection = null, string? pageCursor = null)
+
+List all collection bids
+
+List all collection bids
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListCollectionBidsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var status = new OrderStatusName?(); // OrderStatusName? | Order status to filter by (optional)
+ var buyItemContractAddress = 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266; // string? | Buy item contract address to filter by (optional)
+ var sellItemContractAddress = 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266; // string? | Sell item contract address to filter by (optional)
+ var accountAddress = 0xc49Fd6e51aad88F6F4ce6aB8827279cffFb92266; // string? | The account address of the user who created the bid (optional)
+ var fromUpdatedAt = 2022-03-09T05:00:50.520Z; // DateTime? | From updated at including given date (optional)
+ var pageSize = 100; // int? | Maximum number of orders to return per page (optional) (default to 100)
+ var sortBy = created_at; // string? | Order field to sort by. `sell_item_amount` sorts by per token price, for example if 10eth is offered for 5 ERC1155 items, it’s sorted as 2eth for `sell_item_amount`. (optional)
+ var sortDirection = asc; // string? | Ascending or descending direction for sort (optional)
+ var pageCursor = "pageCursor_example"; // string? | Page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+
+ try
+ {
+ // List all collection bids
+ ListCollectionBidsResult result = apiInstance.ListCollectionBids(chainName, status, buyItemContractAddress, sellItemContractAddress, accountAddress, fromUpdatedAt, pageSize, sortBy, sortDirection, pageCursor);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.ListCollectionBids: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListCollectionBidsWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List all collection bids
+ ApiResponse response = apiInstance.ListCollectionBidsWithHttpInfo(chainName, status, buyItemContractAddress, sellItemContractAddress, accountAddress, fromUpdatedAt, pageSize, sortBy, sortDirection, pageCursor);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.ListCollectionBidsWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **status** | [**OrderStatusName?**](OrderStatusName?.md) | Order status to filter by | [optional] |
+| **buyItemContractAddress** | **string?** | Buy item contract address to filter by | [optional] |
+| **sellItemContractAddress** | **string?** | Sell item contract address to filter by | [optional] |
+| **accountAddress** | **string?** | The account address of the user who created the bid | [optional] |
+| **fromUpdatedAt** | **DateTime?** | From updated at including given date | [optional] |
+| **pageSize** | **int?** | Maximum number of orders to return per page | [optional] [default to 100] |
+| **sortBy** | **string?** | Order field to sort by. `sell_item_amount` sorts by per token price, for example if 10eth is offered for 5 ERC1155 items, it’s sorted as 2eth for `sell_item_amount`. | [optional] |
+| **sortDirection** | **string?** | Ascending or descending direction for sort | [optional] |
+| **pageCursor** | **string?** | Page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+
+### Return type
+
+[**ListCollectionBidsResult**](ListCollectionBidsResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListListings**
+> ListListingsResult ListListings (string chainName, OrderStatusName? status = null, string? sellItemContractAddress = null, string? buyItemType = null, string? buyItemContractAddress = null, string? accountAddress = null, Guid? sellItemMetadataId = null, string? sellItemTokenId = null, DateTime? fromUpdatedAt = null, int? pageSize = null, string? sortBy = null, string? sortDirection = null, string? pageCursor = null)
+
+List all listings
+
+List all listings
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListListingsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var status = new OrderStatusName?(); // OrderStatusName? | Order status to filter by (optional)
+ var sellItemContractAddress = 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266; // string? | Sell item contract address to filter by (optional)
+ var buyItemType = NATIVE; // string? | Buy item type to filter by (optional)
+ var buyItemContractAddress = 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266; // string? | Buy item contract address to filter by (optional)
+ var accountAddress = 0xc49Fd6e51aad88F6F4ce6aB8827279cffFb92266; // string? | The account address of the user who created the listing (optional)
+ var sellItemMetadataId = 020792c9-4ad7-8ec4-4038-9e05c598535b; // Guid? | The metadata_id of the sell item (optional)
+ var sellItemTokenId = 1; // string? | Sell item token identifier to filter by (optional)
+ var fromUpdatedAt = 2022-03-09T05:00:50.520Z; // DateTime? | From updated at including given date (optional)
+ var pageSize = 100; // int? | Maximum number of orders to return per page (optional) (default to 100)
+ var sortBy = created_at; // string? | Order field to sort by. `buy_item_amount` sorts by per token price, for example if 5 ERC-1155s are on sale for 10eth, it’s sorted as 2eth for `buy_item_amount`. (optional)
+ var sortDirection = asc; // string? | Ascending or descending direction for sort (optional)
+ var pageCursor = "pageCursor_example"; // string? | Page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+
+ try
+ {
+ // List all listings
+ ListListingsResult result = apiInstance.ListListings(chainName, status, sellItemContractAddress, buyItemType, buyItemContractAddress, accountAddress, sellItemMetadataId, sellItemTokenId, fromUpdatedAt, pageSize, sortBy, sortDirection, pageCursor);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.ListListings: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListListingsWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List all listings
+ ApiResponse response = apiInstance.ListListingsWithHttpInfo(chainName, status, sellItemContractAddress, buyItemType, buyItemContractAddress, accountAddress, sellItemMetadataId, sellItemTokenId, fromUpdatedAt, pageSize, sortBy, sortDirection, pageCursor);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.ListListingsWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **status** | [**OrderStatusName?**](OrderStatusName?.md) | Order status to filter by | [optional] |
+| **sellItemContractAddress** | **string?** | Sell item contract address to filter by | [optional] |
+| **buyItemType** | **string?** | Buy item type to filter by | [optional] |
+| **buyItemContractAddress** | **string?** | Buy item contract address to filter by | [optional] |
+| **accountAddress** | **string?** | The account address of the user who created the listing | [optional] |
+| **sellItemMetadataId** | **Guid?** | The metadata_id of the sell item | [optional] |
+| **sellItemTokenId** | **string?** | Sell item token identifier to filter by | [optional] |
+| **fromUpdatedAt** | **DateTime?** | From updated at including given date | [optional] |
+| **pageSize** | **int?** | Maximum number of orders to return per page | [optional] [default to 100] |
+| **sortBy** | **string?** | Order field to sort by. `buy_item_amount` sorts by per token price, for example if 5 ERC-1155s are on sale for 10eth, it’s sorted as 2eth for `buy_item_amount`. | [optional] |
+| **sortDirection** | **string?** | Ascending or descending direction for sort | [optional] |
+| **pageCursor** | **string?** | Page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+
+### Return type
+
+[**ListListingsResult**](ListListingsResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListTrades**
+> ListTradeResult ListTrades (string chainName, string? accountAddress = null, string? sellItemContractAddress = null, DateTime? fromIndexedAt = null, int? pageSize = null, string? sortBy = null, string? sortDirection = null, string? pageCursor = null)
+
+List all trades
+
+List all trades
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListTradesExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new OrdersApi(config);
+ var chainName = "chainName_example"; // string |
+ var accountAddress = 0x784578949A4A50DeA641Fb15dd2B11C72E76919a; // string? | (optional)
+ var sellItemContractAddress = 0x784578949A4A50DeA641Fb15dd2B11C72E76919a; // string? | (optional)
+ var fromIndexedAt = 2022-03-09T05:00:50.520Z; // DateTime? | From indexed at including given date (optional)
+ var pageSize = 100; // int? | Maximum number of trades to return per page (optional) (default to 100)
+ var sortBy = indexed_at; // string? | Trade field to sort by (optional)
+ var sortDirection = asc; // string? | Ascending or descending direction for sort (optional)
+ var pageCursor = "pageCursor_example"; // string? | Page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+
+ try
+ {
+ // List all trades
+ ListTradeResult result = apiInstance.ListTrades(chainName, accountAddress, sellItemContractAddress, fromIndexedAt, pageSize, sortBy, sortDirection, pageCursor);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling OrdersApi.ListTrades: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListTradesWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List all trades
+ ApiResponse response = apiInstance.ListTradesWithHttpInfo(chainName, accountAddress, sellItemContractAddress, fromIndexedAt, pageSize, sortBy, sortDirection, pageCursor);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling OrdersApi.ListTradesWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | | |
+| **accountAddress** | **string?** | | [optional] |
+| **sellItemContractAddress** | **string?** | | [optional] |
+| **fromIndexedAt** | **DateTime?** | From indexed at including given date | [optional] |
+| **pageSize** | **int?** | Maximum number of trades to return per page | [optional] [default to 100] |
+| **sortBy** | **string?** | Trade field to sort by | [optional] |
+| **sortDirection** | **string?** | Ascending or descending direction for sort | [optional] |
+| **pageCursor** | **string?** | Page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+
+### Return type
+
+[**ListTradeResult**](ListTradeResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK response. | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/OrganisationTier.md b/src/Packages/ZkEvmApi/Documentation~/OrganisationTier.md
new file mode 100644
index 00000000..3e3ca30a
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/OrganisationTier.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.OrganisationTier
+The tier of the organisation
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Page.md b/src/Packages/ZkEvmApi/Documentation~/Page.md
new file mode 100644
index 00000000..04a74ace
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Page.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.Page
+Pagination properties
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**PreviousCursor** | **string** | First item as an encoded string |
+**NextCursor** | **string** | Last item as an encoded string |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/PassportApi.md b/src/Packages/ZkEvmApi/Documentation~/PassportApi.md
new file mode 100644
index 00000000..92ae0516
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/PassportApi.md
@@ -0,0 +1,110 @@
+# Immutable.Api.ZkEvm.Api.PassportApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**GetLinkedAddresses**](PassportApi.md#getlinkedaddresses) | **GET** /v1/chains/{chain_name}/passport/users/{user_id}/linked-addresses | Get Ethereum linked addresses for a user |
+
+
+# **GetLinkedAddresses**
+> GetLinkedAddressesRes GetLinkedAddresses (string userId, string chainName)
+
+Get Ethereum linked addresses for a user
+
+This API has been deprecated, please use https://docs.immutable.com/zkevm/api/reference/#/operations/getUserInfo instead to get a list of linked addresses.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetLinkedAddressesExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ // Configure Bearer token for authorization: BearerAuth
+ config.AccessToken = "YOUR_BEARER_TOKEN";
+
+ var apiInstance = new PassportApi(config);
+ var userId = "userId_example"; // string | The user's userId
+ var chainName = "chainName_example"; // string |
+
+ try
+ {
+ // Get Ethereum linked addresses for a user
+ GetLinkedAddressesRes result = apiInstance.GetLinkedAddresses(userId, chainName);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling PassportApi.GetLinkedAddresses: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetLinkedAddressesWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get Ethereum linked addresses for a user
+ ApiResponse response = apiInstance.GetLinkedAddressesWithHttpInfo(userId, chainName);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling PassportApi.GetLinkedAddressesWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **userId** | **string** | The user's userId | |
+| **chainName** | **string** | | |
+
+### Return type
+
+[**GetLinkedAddressesRes**](GetLinkedAddressesRes.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | User's list of linked addresses response | - |
+| **400** | BadRequestError | - |
+| **401** | UnauthorizedError | - |
+| **403** | ForbiddenError | - |
+| **429** | TooManyRequestsError | - |
+| **500** | InternalServerError | - |
+| **0** | unexpected error | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/PassportProfileApi.md b/src/Packages/ZkEvmApi/Documentation~/PassportProfileApi.md
new file mode 100644
index 00000000..ea4031b3
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/PassportProfileApi.md
@@ -0,0 +1,199 @@
+# Immutable.Api.ZkEvm.Api.PassportProfileApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**GetUserInfo**](PassportProfileApi.md#getuserinfo) | **GET** /passport-profile/v1/user/info | Get all info for a Passport user |
+| [**LinkWalletV2**](PassportProfileApi.md#linkwalletv2) | **POST** /passport-profile/v2/linked-wallets | Link wallet v2 |
+
+
+# **GetUserInfo**
+> UserInfo GetUserInfo ()
+
+Get all info for a Passport user
+
+Get all the info for an authenticated Passport user
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetUserInfoExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ // Configure Bearer token for authorization: BearerAuth
+ config.AccessToken = "YOUR_BEARER_TOKEN";
+
+ var apiInstance = new PassportProfileApi(config);
+
+ try
+ {
+ // Get all info for a Passport user
+ UserInfo result = apiInstance.GetUserInfo();
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling PassportProfileApi.GetUserInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetUserInfoWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get all info for a Passport user
+ ApiResponse response = apiInstance.GetUserInfoWithHttpInfo();
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling PassportProfileApi.GetUserInfoWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+This endpoint does not need any parameter.
+### Return type
+
+[**UserInfo**](UserInfo.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Passport user's info | - |
+| **401** | UnauthorizedError | - |
+| **500** | InternalServerError | - |
+| **0** | unexpected error | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **LinkWalletV2**
+> Wallet LinkWalletV2 (LinkWalletV2Request? linkWalletV2Request = null)
+
+Link wallet v2
+
+Link an external EOA wallet to an Immutable Passport account by providing an EIP-712 signature.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class LinkWalletV2Example
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ // Configure Bearer token for authorization: BearerAuth
+ config.AccessToken = "YOUR_BEARER_TOKEN";
+
+ var apiInstance = new PassportProfileApi(config);
+ var linkWalletV2Request = new LinkWalletV2Request?(); // LinkWalletV2Request? | (optional)
+
+ try
+ {
+ // Link wallet v2
+ Wallet result = apiInstance.LinkWalletV2(linkWalletV2Request);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling PassportProfileApi.LinkWalletV2: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the LinkWalletV2WithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Link wallet v2
+ ApiResponse response = apiInstance.LinkWalletV2WithHttpInfo(linkWalletV2Request);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling PassportProfileApi.LinkWalletV2WithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **linkWalletV2Request** | [**LinkWalletV2Request?**](LinkWalletV2Request?.md) | | [optional] |
+
+### Return type
+
+[**Wallet**](Wallet.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | BadRequestError | - |
+| **401** | UnauthorizedError | - |
+| **403** | ForbiddenError | - |
+| **500** | InternalServerError | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/PendingOrderStatus.md b/src/Packages/ZkEvmApi/Documentation~/PendingOrderStatus.md
new file mode 100644
index 00000000..2110087b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/PendingOrderStatus.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.PendingOrderStatus
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | The order status that indicates the order is yet to be active due to various reasons. |
+**Evaluated** | **bool** | Whether the order has been evaluated after its creation |
+**Started** | **bool** | Whether the order has reached its specified start time |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/PricingApi.md b/src/Packages/ZkEvmApi/Documentation~/PricingApi.md
new file mode 100644
index 00000000..fa0a9371
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/PricingApi.md
@@ -0,0 +1,215 @@
+# Immutable.Api.ZkEvm.Api.PricingApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**QuotesForNFTs**](PricingApi.md#quotesfornfts) | **GET** /experimental/chains/{chain_name}/quotes/{contract_address}/nfts | Experimental: Get pricing data for a list of token ids |
+| [**QuotesForStacks**](PricingApi.md#quotesforstacks) | **GET** /experimental/chains/{chain_name}/quotes/{contract_address}/stacks | Experimental: Get pricing data for a list of stack ids |
+
+
+# **QuotesForNFTs**
+> QuotesForNFTsResult QuotesForNFTs (string chainName, string contractAddress, List tokenId, string? pageCursor = null)
+
+Experimental: Get pricing data for a list of token ids
+
+ Get pricing data for a list of token ids
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class QuotesForNFTsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new PricingApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var contractAddress = "contractAddress_example"; // string | Contract address for collection that these token ids are on
+ var tokenId = new List(); // List | List of token ids to get pricing data for
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+
+ try
+ {
+ // Experimental: Get pricing data for a list of token ids
+ QuotesForNFTsResult result = apiInstance.QuotesForNFTs(chainName, contractAddress, tokenId, pageCursor);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling PricingApi.QuotesForNFTs: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the QuotesForNFTsWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Experimental: Get pricing data for a list of token ids
+ ApiResponse response = apiInstance.QuotesForNFTsWithHttpInfo(chainName, contractAddress, tokenId, pageCursor);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling PricingApi.QuotesForNFTsWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **contractAddress** | **string** | Contract address for collection that these token ids are on | |
+| **tokenId** | [**List<string>**](string.md) | List of token ids to get pricing data for | |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+
+### Return type
+
+[**QuotesForNFTsResult**](QuotesForNFTsResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **429** | Too Many Requests (429) | * Retry-After -
|
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **QuotesForStacks**
+> QuotesForStacksResult QuotesForStacks (string chainName, string contractAddress, List stackId, string? pageCursor = null)
+
+Experimental: Get pricing data for a list of stack ids
+
+ Get pricing data for a list of stack ids
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class QuotesForStacksExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new PricingApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var contractAddress = "contractAddress_example"; // string | Contract address for collection that these stacks are on
+ var stackId = new List(); // List | List of stack ids to get pricing data for
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+
+ try
+ {
+ // Experimental: Get pricing data for a list of stack ids
+ QuotesForStacksResult result = apiInstance.QuotesForStacks(chainName, contractAddress, stackId, pageCursor);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling PricingApi.QuotesForStacks: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the QuotesForStacksWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Experimental: Get pricing data for a list of stack ids
+ ApiResponse response = apiInstance.QuotesForStacksWithHttpInfo(chainName, contractAddress, stackId, pageCursor);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling PricingApi.QuotesForStacksWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **contractAddress** | **string** | Contract address for collection that these stacks are on | |
+| **stackId** | [**List<Guid>**](Guid.md) | List of stack ids to get pricing data for | |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+
+### Return type
+
+[**QuotesForStacksResult**](QuotesForStacksResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **429** | Too Many Requests (429) | * Retry-After -
|
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/ProtocolData.md b/src/Packages/ZkEvmApi/Documentation~/ProtocolData.md
new file mode 100644
index 00000000..9d94edb4
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/ProtocolData.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.ProtocolData
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**OrderType** | **string** | Seaport order type. Orders containing ERC721 tokens will need to pass in the order type as FULL_RESTRICTED while orders with ERC1155 tokens will need to pass in the order_type as PARTIAL_RESTRICTED |
+**Counter** | **string** | big.Int or uint256 string for order counter |
+**ZoneAddress** | **string** | Immutable zone address |
+**SeaportAddress** | **string** | Immutable Seaport contract address |
+**SeaportVersion** | **string** | Immutable Seaport contract version |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/QuotesForNFTsResult.md b/src/Packages/ZkEvmApi/Documentation~/QuotesForNFTsResult.md
new file mode 100644
index 00000000..f5ace9c5
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/QuotesForNFTsResult.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.QuotesForNFTsResult
+Quotes for NFTs result
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<NFTQuoteResult>**](NFTQuoteResult.md) | List of quotes |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/QuotesForStacksResult.md b/src/Packages/ZkEvmApi/Documentation~/QuotesForStacksResult.md
new file mode 100644
index 00000000..db486352
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/QuotesForStacksResult.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.QuotesForStacksResult
+Quotes for stacks result
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<StackQuoteResult>**](StackQuoteResult.md) | List of quotes |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/RefreshCollectionMetadataRequest.md b/src/Packages/ZkEvmApi/Documentation~/RefreshCollectionMetadataRequest.md
new file mode 100644
index 00000000..a298b0b3
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/RefreshCollectionMetadataRequest.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.RefreshCollectionMetadataRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CollectionMetadata** | [**CollectionMetadata**](CollectionMetadata.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/RefreshCollectionMetadataResult.md b/src/Packages/ZkEvmApi/Documentation~/RefreshCollectionMetadataResult.md
new file mode 100644
index 00000000..2bad89f0
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/RefreshCollectionMetadataResult.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.RefreshCollectionMetadataResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ContractAddress** | **string** | |
+**Chain** | [**Chain**](Chain.md) | |
+**CollectionMetadata** | [**CollectionMetadata**](CollectionMetadata.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/RefreshMetadataByID.md b/src/Packages/ZkEvmApi/Documentation~/RefreshMetadataByID.md
new file mode 100644
index 00000000..56b62bb7
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/RefreshMetadataByID.md
@@ -0,0 +1,17 @@
+# Immutable.Api.ZkEvm.Model.RefreshMetadataByID
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | The name of the NFT |
+**Description** | **string** | The description of the NFT |
+**Image** | **string** | The image url of the NFT |
+**ExternalUrl** | **string** | The external link of the NFT |
+**AnimationUrl** | **string** | The animation url of the NFT |
+**YoutubeUrl** | **string** | The youtube link of the NFT |
+**Attributes** | [**List<NFTMetadataAttribute>**](NFTMetadataAttribute.md) | List of Metadata attributes |
+**MetadataId** | **Guid** | Metadata id in UUIDv4 format |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/RefreshMetadataByIDRequest.md b/src/Packages/ZkEvmApi/Documentation~/RefreshMetadataByIDRequest.md
new file mode 100644
index 00000000..388b3d68
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/RefreshMetadataByIDRequest.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.RefreshMetadataByIDRequest
+Request body for refreshing metadata by id. Total size of this list should not exceed 228 KiB
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Metadata** | [**List<RefreshMetadataByID>**](RefreshMetadataByID.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/RefreshMetadataByTokenID.md b/src/Packages/ZkEvmApi/Documentation~/RefreshMetadataByTokenID.md
new file mode 100644
index 00000000..c6ea3a88
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/RefreshMetadataByTokenID.md
@@ -0,0 +1,17 @@
+# Immutable.Api.ZkEvm.Model.RefreshMetadataByTokenID
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | The name of the NFT |
+**Description** | **string** | The description of the NFT |
+**Image** | **string** | The image url of the NFT |
+**ExternalUrl** | **string** | The external link of the NFT |
+**AnimationUrl** | **string** | The animation url of the NFT |
+**YoutubeUrl** | **string** | The youtube link of the NFT |
+**Attributes** | [**List<NFTMetadataAttribute>**](NFTMetadataAttribute.md) | List of Metadata attributes |
+**TokenId** | **string** | An `uint256` token id as string |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/RefreshNFTMetadataByTokenIDRequest.md b/src/Packages/ZkEvmApi/Documentation~/RefreshNFTMetadataByTokenIDRequest.md
new file mode 100644
index 00000000..6bb65fdb
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/RefreshNFTMetadataByTokenIDRequest.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.RefreshNFTMetadataByTokenIDRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**NftMetadata** | [**List<RefreshMetadataByTokenID>**](RefreshMetadataByTokenID.md) | List of nft metadata to be refreshed. Total size of the list should not exceed 228 KiB |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/RefreshableNFTAttributes.md b/src/Packages/ZkEvmApi/Documentation~/RefreshableNFTAttributes.md
new file mode 100644
index 00000000..072510fa
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/RefreshableNFTAttributes.md
@@ -0,0 +1,16 @@
+# Immutable.Api.ZkEvm.Model.RefreshableNFTAttributes
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | The name of the NFT |
+**Description** | **string** | The description of the NFT |
+**Image** | **string** | The image url of the NFT |
+**ExternalUrl** | **string** | The external link of the NFT |
+**AnimationUrl** | **string** | The animation url of the NFT |
+**YoutubeUrl** | **string** | The youtube link of the NFT |
+**Attributes** | [**List<NFTMetadataAttribute>**](NFTMetadataAttribute.md) | List of Metadata attributes |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/SaleFee.md b/src/Packages/ZkEvmApi/Documentation~/SaleFee.md
new file mode 100644
index 00000000..f902673f
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/SaleFee.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.SaleFee
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Amount** | **string** | Fee payable to recipient upon settlement | [optional]
+**Type** | **string** | Fee type | [optional]
+**Recipient** | **string** | Wallet address of fee recipient | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/SalePayment.md b/src/Packages/ZkEvmApi/Documentation~/SalePayment.md
new file mode 100644
index 00000000..285fef03
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/SalePayment.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.SalePayment
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Token** | [**SalePaymentToken**](SalePaymentToken.md) | |
+**PriceExcludingFees** | **string** | The base price of the sale not including any fees |
+**PriceIncludingFees** | **string** | The total price of the sale. Includes the sum of all fees |
+**Fees** | [**List<SaleFee>**](SaleFee.md) | The fees associated with this sale |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/SalePaymentToken.md b/src/Packages/ZkEvmApi/Documentation~/SalePaymentToken.md
new file mode 100644
index 00000000..7643eccb
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/SalePaymentToken.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.SalePaymentToken
+The type of payment token
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ContractType** | **TokenContractType** | |
+**ContractAddress** | **string** | The contract address |
+**Symbol** | **string** | The token symbol |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/SearchNFTsResult.md b/src/Packages/ZkEvmApi/Documentation~/SearchNFTsResult.md
new file mode 100644
index 00000000..b97023dc
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/SearchNFTsResult.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.SearchNFTsResult
+Search NFTs result
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<NFTBundle>**](NFTBundle.md) | List of nft bundles |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/SearchStacksResult.md b/src/Packages/ZkEvmApi/Documentation~/SearchStacksResult.md
new file mode 100644
index 00000000..907d22f1
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/SearchStacksResult.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.SearchStacksResult
+Search stacks result
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**List<StackBundle>**](StackBundle.md) | List of stack bundles |
+**Page** | [**Page**](Page.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/SignCraftingRequest.md b/src/Packages/ZkEvmApi/Documentation~/SignCraftingRequest.md
new file mode 100644
index 00000000..83beecac
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/SignCraftingRequest.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.SignCraftingRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**MultiCaller** | [**SignCraftingRequestMultiCaller**](SignCraftingRequestMultiCaller.md) | |
+**ReferenceId** | **string** | The id of this request in the system that originates the crafting request, specified as a 32 byte hex string |
+**Calls** | [**List<Call>**](Call.md) | The calls to be signed |
+**ExpiresAt** | **DateTime** | The expiration time of the request |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/SignCraftingRequestMultiCaller.md b/src/Packages/ZkEvmApi/Documentation~/SignCraftingRequestMultiCaller.md
new file mode 100644
index 00000000..75656656
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/SignCraftingRequestMultiCaller.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.SignCraftingRequestMultiCaller
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Address** | **string** | An Ethereum address |
+**Name** | **string** | The name of the multicaller contract |
+**VarVersion** | **string** | The version of the multicaller contract |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/SignCraftingResult.md b/src/Packages/ZkEvmApi/Documentation~/SignCraftingResult.md
new file mode 100644
index 00000000..dd2307b6
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/SignCraftingResult.md
@@ -0,0 +1,11 @@
+# Immutable.Api.ZkEvm.Model.SignCraftingResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**SignerAddress** | **string** | An Ethereum address |
+**Signature** | **string** | The signature of the request |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Stack.md b/src/Packages/ZkEvmApi/Documentation~/Stack.md
new file mode 100644
index 00000000..3a9db800
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Stack.md
@@ -0,0 +1,23 @@
+# Immutable.Api.ZkEvm.Model.Stack
+Stack
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**StackId** | **Guid** | Stack ID |
+**Chain** | [**Chain**](Chain.md) | |
+**ContractAddress** | **string** | Contract address |
+**ContractType** | **MarketplaceContractType** | |
+**CreatedAt** | **DateTime** | When the metadata was created |
+**UpdatedAt** | **DateTime** | When the metadata was last updated |
+**Name** | **string** | The name of the NFT |
+**Description** | **string** | The description of the NFT |
+**Image** | **string** | The image url of the NFT |
+**ExternalUrl** | **string** | The external website link of NFT |
+**AnimationUrl** | **string** | The animation url of the NFT |
+**YoutubeUrl** | **string** | The youtube URL of NFT |
+**Attributes** | [**List<NFTMetadataAttribute>**](NFTMetadataAttribute.md) | List of Metadata attributes |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/StackBundle.md b/src/Packages/ZkEvmApi/Documentation~/StackBundle.md
new file mode 100644
index 00000000..1567ef8e
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/StackBundle.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.StackBundle
+Stack bundle includes stacks, markets and listings
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Stack** | [**Stack**](Stack.md) | |
+**StackCount** | **int** | Total count of NFTs in the stack matching the filter params |
+**Market** | [**Market**](Market.md) | |
+**Listings** | [**List<Listing>**](Listing.md) | List of open listings for the stack. |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/StackQuoteResult.md b/src/Packages/ZkEvmApi/Documentation~/StackQuoteResult.md
new file mode 100644
index 00000000..62a4d913
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/StackQuoteResult.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.StackQuoteResult
+Stack quote result
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**StackId** | **Guid** | |
+**MarketStack** | [**Market**](Market.md) | |
+**MarketCollection** | [**Market**](Market.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/StacksApi.md b/src/Packages/ZkEvmApi/Documentation~/StacksApi.md
new file mode 100644
index 00000000..007d4cbf
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/StacksApi.md
@@ -0,0 +1,233 @@
+# Immutable.Api.ZkEvm.Api.StacksApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**SearchNFTs**](StacksApi.md#searchnfts) | **GET** /experimental/chains/{chain_name}/search/nfts | Experimental: Search NFTs |
+| [**SearchStacks**](StacksApi.md#searchstacks) | **GET** /experimental/chains/{chain_name}/search/stacks | Experimental: Search NFT stacks |
+
+
+# **SearchNFTs**
+> SearchNFTsResult SearchNFTs (string chainName, List contractAddress, string? accountAddress = null, List? stackId = null, bool? onlyIncludeOwnerListings = null, int? pageSize = null, string? pageCursor = null)
+
+Experimental: Search NFTs
+
+ Search NFTs
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class SearchNFTsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new StacksApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var contractAddress = new List(); // List | List of contract addresses to filter by
+ var accountAddress = 0xe9b00a87700f660e46b6f5deaa1232836bcc07d3; // string? | Account address to filter by (optional)
+ var stackId = new List?(); // List? | Filters NFTs that belong to any of these stacks (optional)
+ var onlyIncludeOwnerListings = true; // bool? | Whether the listings should include only the owner created listings (optional)
+ var pageSize = 100; // int? | Number of results to return per page (optional) (default to 100)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+
+ try
+ {
+ // Experimental: Search NFTs
+ SearchNFTsResult result = apiInstance.SearchNFTs(chainName, contractAddress, accountAddress, stackId, onlyIncludeOwnerListings, pageSize, pageCursor);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling StacksApi.SearchNFTs: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the SearchNFTsWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Experimental: Search NFTs
+ ApiResponse response = apiInstance.SearchNFTsWithHttpInfo(chainName, contractAddress, accountAddress, stackId, onlyIncludeOwnerListings, pageSize, pageCursor);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling StacksApi.SearchNFTsWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **contractAddress** | [**List<string>**](string.md) | List of contract addresses to filter by | |
+| **accountAddress** | **string?** | Account address to filter by | [optional] |
+| **stackId** | [**List<Guid>?**](Guid.md) | Filters NFTs that belong to any of these stacks | [optional] |
+| **onlyIncludeOwnerListings** | **bool?** | Whether the listings should include only the owner created listings | [optional] |
+| **pageSize** | **int?** | Number of results to return per page | [optional] [default to 100] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+
+### Return type
+
+[**SearchNFTsResult**](SearchNFTsResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **429** | Too Many Requests (429) | * Retry-After -
|
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **SearchStacks**
+> SearchStacksResult SearchStacks (string chainName, List contractAddress, string? accountAddress = null, bool? onlyIncludeOwnerListings = null, bool? onlyIfHasActiveListings = null, string? trait = null, string? keyword = null, string? sortBy = null, int? pageSize = null, string? pageCursor = null)
+
+Experimental: Search NFT stacks
+
+ Search NFT stacks
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class SearchStacksExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new StacksApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var contractAddress = new List(); // List | List of contract addresses to filter by
+ var accountAddress = 0xe9b00a87700f660e46b6f5deaa1232836bcc07d3; // string? | Account address to filter by (optional)
+ var onlyIncludeOwnerListings = true; // bool? | Whether to the listings should include only the owner created listings (optional)
+ var onlyIfHasActiveListings = true; // bool? | Filters results to include only stacks that have a current active listing. False and 'null' return all unfiltered stacks. (optional)
+ var trait = "trait_example"; // string? | JSON encoded traits to filter by. e.g. encodeURIComponent(JSON.stringify({\"rarity\": {\"values\": [\"common\", \"rare\"], \"condition\": \"eq\"}})) (optional)
+ var keyword = sword; // string? | Keyword to search NFT name and description. Alphanumeric characters only. (optional)
+ var sortBy = "cheapest_first"; // string? | Sort results in a specific order (optional)
+ var pageSize = 100; // int? | Number of results to return per page (optional) (default to 100)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+
+ try
+ {
+ // Experimental: Search NFT stacks
+ SearchStacksResult result = apiInstance.SearchStacks(chainName, contractAddress, accountAddress, onlyIncludeOwnerListings, onlyIfHasActiveListings, trait, keyword, sortBy, pageSize, pageCursor);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling StacksApi.SearchStacks: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the SearchStacksWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Experimental: Search NFT stacks
+ ApiResponse response = apiInstance.SearchStacksWithHttpInfo(chainName, contractAddress, accountAddress, onlyIncludeOwnerListings, onlyIfHasActiveListings, trait, keyword, sortBy, pageSize, pageCursor);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling StacksApi.SearchStacksWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **contractAddress** | [**List<string>**](string.md) | List of contract addresses to filter by | |
+| **accountAddress** | **string?** | Account address to filter by | [optional] |
+| **onlyIncludeOwnerListings** | **bool?** | Whether to the listings should include only the owner created listings | [optional] |
+| **onlyIfHasActiveListings** | **bool?** | Filters results to include only stacks that have a current active listing. False and 'null' return all unfiltered stacks. | [optional] |
+| **trait** | **string?** | JSON encoded traits to filter by. e.g. encodeURIComponent(JSON.stringify({\"rarity\": {\"values\": [\"common\", \"rare\"], \"condition\": \"eq\"}})) | [optional] |
+| **keyword** | **string?** | Keyword to search NFT name and description. Alphanumeric characters only. | [optional] |
+| **sortBy** | **string?** | Sort results in a specific order | [optional] |
+| **pageSize** | **int?** | Number of results to return per page | [optional] [default to 100] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+
+### Return type
+
+[**SearchStacksResult**](SearchStacksResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | 200 response | - |
+| **400** | Bad Request (400) | - |
+| **401** | Unauthorised Request (401) | - |
+| **403** | Forbidden Request (403) | - |
+| **404** | The specified resource was not found (404) | - |
+| **429** | Too Many Requests (429) | * Retry-After -
|
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Token.md b/src/Packages/ZkEvmApi/Documentation~/Token.md
new file mode 100644
index 00000000..61005701
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Token.md
@@ -0,0 +1,21 @@
+# Immutable.Api.ZkEvm.Model.Token
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Chain** | [**Chain**](Chain.md) | |
+**ContractAddress** | **string** | The address of token contract |
+**RootContractAddress** | **string** | The address of root token contract |
+**RootChainId** | **string** | The id of the root chain for a bridged token | [optional]
+**BridgeUsed** | **string** | The name of the bridge, for bridged tokens only | [optional]
+**Symbol** | **string** | The symbol of token |
+**Decimals** | **int?** | The decimals of token |
+**ImageUrl** | **string** | The image url of token |
+**Name** | **string** | The name of token |
+**VerificationStatus** | **AssetVerificationStatus** | |
+**UpdatedAt** | **DateTime** | When the collection was last updated |
+**IsCanonical** | **bool** | Indicates whether the token is canonical or not |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/TokenContractType.md b/src/Packages/ZkEvmApi/Documentation~/TokenContractType.md
new file mode 100644
index 00000000..38591b68
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/TokenContractType.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.TokenContractType
+The contract type for a token
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/TokensApi.md b/src/Packages/ZkEvmApi/Documentation~/TokensApi.md
new file mode 100644
index 00000000..51ea6ca0
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/TokensApi.md
@@ -0,0 +1,209 @@
+# Immutable.Api.ZkEvm.Api.TokensApi
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+| Method | HTTP request | Description |
+|--------|--------------|-------------|
+| [**GetERC20Token**](TokensApi.md#geterc20token) | **GET** /v1/chains/{chain_name}/tokens/{contract_address} | Get single ERC20 token |
+| [**ListERC20Tokens**](TokensApi.md#listerc20tokens) | **GET** /v1/chains/{chain_name}/tokens | List ERC20 tokens |
+
+
+# **GetERC20Token**
+> GetTokenResult GetERC20Token (string contractAddress, string chainName)
+
+Get single ERC20 token
+
+Get single ERC20 token
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class GetERC20TokenExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new TokensApi(config);
+ var contractAddress = 0x8a90cab2b38dba80c64b7734e58ee1db38b8992e; // string | The address of contract
+ var chainName = "chainName_example"; // string | The name of chain
+
+ try
+ {
+ // Get single ERC20 token
+ GetTokenResult result = apiInstance.GetERC20Token(contractAddress, chainName);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling TokensApi.GetERC20Token: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the GetERC20TokenWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // Get single ERC20 token
+ ApiResponse response = apiInstance.GetERC20TokenWithHttpInfo(contractAddress, chainName);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling TokensApi.GetERC20TokenWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **contractAddress** | **string** | The address of contract | |
+| **chainName** | **string** | The name of chain | |
+
+### Return type
+
+[**GetTokenResult**](GetTokenResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **ListERC20Tokens**
+> ListTokensResult ListERC20Tokens (string chainName, DateTime? fromUpdatedAt = null, List? verificationStatus = null, bool? isCanonical = null, string? pageCursor = null, int? pageSize = null)
+
+List ERC20 tokens
+
+List ERC20 tokens
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Immutable.Api.ZkEvm.Api;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Example
+{
+ public class ListERC20TokensExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new TokensApi(config);
+ var chainName = "chainName_example"; // string | The name of chain
+ var fromUpdatedAt = 2022-08-16T17:43:26.991388Z; // DateTime? | Datetime to use as the oldest updated timestamp (optional)
+ var verificationStatus = new List?(); // List? | List of verification status to filter by (optional)
+ var isCanonical = true; // bool? | [Experimental - Canonical token data may be updated] Filter by canonical or non-canonical tokens. (optional)
+ var pageCursor = "pageCursor_example"; // string? | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ var pageSize = 100; // int? | Maximum number of items to return (optional) (default to 100)
+
+ try
+ {
+ // List ERC20 tokens
+ ListTokensResult result = apiInstance.ListERC20Tokens(chainName, fromUpdatedAt, verificationStatus, isCanonical, pageCursor, pageSize);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling TokensApi.ListERC20Tokens: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+#### Using the ListERC20TokensWithHttpInfo variant
+This returns an ApiResponse object which contains the response data, status code and headers.
+
+```csharp
+try
+{
+ // List ERC20 tokens
+ ApiResponse response = apiInstance.ListERC20TokensWithHttpInfo(chainName, fromUpdatedAt, verificationStatus, isCanonical, pageCursor, pageSize);
+ Debug.Write("Status Code: " + response.StatusCode);
+ Debug.Write("Response Headers: " + response.Headers);
+ Debug.Write("Response Body: " + response.Data);
+}
+catch (ApiException e)
+{
+ Debug.Print("Exception when calling TokensApi.ListERC20TokensWithHttpInfo: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+}
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **chainName** | **string** | The name of chain | |
+| **fromUpdatedAt** | **DateTime?** | Datetime to use as the oldest updated timestamp | [optional] |
+| **verificationStatus** | [**List<AssetVerificationStatus>?**](AssetVerificationStatus.md) | List of verification status to filter by | [optional] |
+| **isCanonical** | **bool?** | [Experimental - Canonical token data may be updated] Filter by canonical or non-canonical tokens. | [optional] |
+| **pageCursor** | **string?** | Encoded page cursor to retrieve previous or next page. Use the value returned in the response. | [optional] |
+| **pageSize** | **int?** | Maximum number of items to return | [optional] [default to 100] |
+
+### Return type
+
+[**ListTokensResult**](ListTokensResult.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | OK | - |
+| **400** | Bad Request (400) | - |
+| **404** | The specified resource was not found (404) | - |
+| **500** | Internal Server Error (500) | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Trade.md b/src/Packages/ZkEvmApi/Documentation~/Trade.md
new file mode 100644
index 00000000..440371d1
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Trade.md
@@ -0,0 +1,22 @@
+# Immutable.Api.ZkEvm.Model.Trade
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Buy** | [**List<Item>**](Item.md) | Buy items are transferred from the taker to the maker. |
+**BuyerAddress** | **string** | Deprecated. Use maker and taker addresses instead of buyer and seller addresses. |
+**BuyerFees** | [**List<Fee>**](Fee.md) | Deprecated. Use fees instead. The taker always pays the fees. |
+**Fees** | [**List<Fee>**](Fee.md) | |
+**Chain** | [**Chain**](Chain.md) | |
+**OrderId** | **string** | |
+**BlockchainMetadata** | [**TradeBlockchainMetadata**](TradeBlockchainMetadata.md) | |
+**IndexedAt** | **DateTime** | Time the on-chain trade event is indexed by the order book system |
+**Id** | **string** | Global Trade identifier |
+**Sell** | [**List<Item>**](Item.md) | Sell items are transferred from the maker to the taker. |
+**SellerAddress** | **string** | Deprecated. Use maker and taker addresses instead of buyer and seller addresses. |
+**MakerAddress** | **string** | |
+**TakerAddress** | **string** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/TradeBlockchainMetadata.md b/src/Packages/ZkEvmApi/Documentation~/TradeBlockchainMetadata.md
new file mode 100644
index 00000000..b73eec38
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/TradeBlockchainMetadata.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.TradeBlockchainMetadata
+The metadata related to the transaction in which the activity occurred
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**TransactionHash** | **string** | The transaction hash of the trade |
+**BlockNumber** | **string** | EVM block number (uint64 as string) |
+**TransactionIndex** | **string** | Transaction index in a block (uint32 as string) |
+**LogIndex** | **string** | The log index of the fulfillment event in a block (uint32 as string) |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/TradeResult.md b/src/Packages/ZkEvmApi/Documentation~/TradeResult.md
new file mode 100644
index 00000000..ac72d74f
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/TradeResult.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.TradeResult
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Result** | [**Trade**](Trade.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Transfer.md b/src/Packages/ZkEvmApi/Documentation~/Transfer.md
new file mode 100644
index 00000000..827acd33
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Transfer.md
@@ -0,0 +1,14 @@
+# Immutable.Api.ZkEvm.Model.Transfer
+The transfer activity details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**From** | **string** | The account address the asset was transferred from |
+**To** | **string** | The account address the asset was transferred to |
+**Amount** | **string** | The amount of assets transferred |
+**Asset** | [**ActivityAsset**](ActivityAsset.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/UnfulfillableOrder.md b/src/Packages/ZkEvmApi/Documentation~/UnfulfillableOrder.md
new file mode 100644
index 00000000..ceaa06f8
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/UnfulfillableOrder.md
@@ -0,0 +1,12 @@
+# Immutable.Api.ZkEvm.Model.UnfulfillableOrder
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**OrderId** | **string** | OrderID for the requested but unfulfillable order |
+**TokenId** | **string** | Token ID for the ERC721 or ERC1155 token when fulfilling a collection order | [optional]
+**Reason** | **string** | Nullable string containing error reason if the signing is unsuccessful for the order |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/UserInfo.md b/src/Packages/ZkEvmApi/Documentation~/UserInfo.md
new file mode 100644
index 00000000..d828d8eb
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/UserInfo.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.UserInfo
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Sub** | **string** | The user's id |
+**Email** | **string** | The user's email address | [optional]
+**PassportAddress** | **string** | The user's Passport address if it has been registered | [optional]
+**LinkedAddresses** | **List<string>** | The user's list of linked addresses |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/VerificationRequest.md b/src/Packages/ZkEvmApi/Documentation~/VerificationRequest.md
new file mode 100644
index 00000000..821ca646
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/VerificationRequest.md
@@ -0,0 +1,21 @@
+# Immutable.Api.ZkEvm.Model.VerificationRequest
+The verification request
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **Guid** | The id of the verification request |
+**Chain** | [**Chain**](Chain.md) | |
+**ContractAddress** | **string** | The contract address |
+**OrgName** | **string** | The name of the organisation associated with this contract |
+**Name** | **string** | The name of the collection |
+**Symbol** | **string** | The symbol of contract |
+**Description** | **string** | The description of collection |
+**OrgId** | **string** | The id of the organisation associated with this contract |
+**RequesterEmail** | **string** | The email address of the user who requested the contract to be verified |
+**ContractType** | **VerificationRequestContractType** | |
+**VerificationRequestStatus** | **VerificationRequestStatus** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/VerificationRequestContractType.md b/src/Packages/ZkEvmApi/Documentation~/VerificationRequestContractType.md
new file mode 100644
index 00000000..e29ef678
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/VerificationRequestContractType.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.VerificationRequestContractType
+The contract type associated with the given request
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/VerificationRequestInternal.md b/src/Packages/ZkEvmApi/Documentation~/VerificationRequestInternal.md
new file mode 100644
index 00000000..2866c3a2
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/VerificationRequestInternal.md
@@ -0,0 +1,22 @@
+# Immutable.Api.ZkEvm.Model.VerificationRequestInternal
+The verification request (internal)
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **Guid** | The id of the verification request |
+**Chain** | [**Chain**](Chain.md) | |
+**ContractAddress** | **string** | The contract address |
+**OrgName** | **string** | The name of the organisation associated with this contract |
+**Name** | **string** | The name of the collection |
+**Symbol** | **string** | The symbol of contract |
+**Description** | **string** | The description of collection |
+**OrgId** | **string** | The id of the organisation associated with this contract |
+**RequesterEmail** | **string** | The email address of the user who requested the contract to be verified |
+**ContractType** | **VerificationRequestContractType** | |
+**VerificationRequestStatus** | **VerificationRequestStatus** | |
+**OrgTier** | **OrganisationTier** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/VerificationRequestStatus.md b/src/Packages/ZkEvmApi/Documentation~/VerificationRequestStatus.md
new file mode 100644
index 00000000..886c7182
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/VerificationRequestStatus.md
@@ -0,0 +1,10 @@
+# Immutable.Api.ZkEvm.Model.VerificationRequestStatus
+The status of the verification request
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Wallet.md b/src/Packages/ZkEvmApi/Documentation~/Wallet.md
new file mode 100644
index 00000000..37bcc6ff
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Wallet.md
@@ -0,0 +1,16 @@
+# Immutable.Api.ZkEvm.Model.Wallet
+Linked wallet
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Address** | **string** | Ethereum address |
+**Type** | **string** | Wallet type |
+**CreatedAt** | **DateTime** | Created at |
+**UpdatedAt** | **DateTime** | Created at |
+**Name** | **string** | Name | [optional]
+**ClientName** | **string** | Name of client that linked the wallet |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/Documentation~/Withdrawal.md b/src/Packages/ZkEvmApi/Documentation~/Withdrawal.md
new file mode 100644
index 00000000..5b2ee6cf
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Documentation~/Withdrawal.md
@@ -0,0 +1,13 @@
+# Immutable.Api.ZkEvm.Model.Withdrawal
+The withdrawal activity details
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**From** | **string** | The account address the asset was withdrawn from |
+**Amount** | **string** | The amount of assets withdrawn |
+**Asset** | [**ActivityAsset**](ActivityAsset.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/src/Packages/ZkEvmApi/LICENSE.md b/src/Packages/ZkEvmApi/LICENSE.md
new file mode 100644
index 00000000..f47af0ac
--- /dev/null
+++ b/src/Packages/ZkEvmApi/LICENSE.md
@@ -0,0 +1,176 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
diff --git a/src/Packages/ZkEvmApi/LICENSE.md.meta b/src/Packages/ZkEvmApi/LICENSE.md.meta
new file mode 100644
index 00000000..b8bc478e
--- /dev/null
+++ b/src/Packages/ZkEvmApi/LICENSE.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 5bb18958703964e918465ec612269e8d
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/README.md b/src/Packages/ZkEvmApi/README.md
new file mode 100644
index 00000000..fa82e714
--- /dev/null
+++ b/src/Packages/ZkEvmApi/README.md
@@ -0,0 +1,316 @@
+# Immutable.Api - the C# library for the Immutable zkEVM API
+
+Immutable Multi Rollup API
+
+This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
+
+- API version: 1.0.0
+- SDK version: 1.0.0
+- Generator version: 7.8.0
+- Build package: org.openapitools.codegen.languages.CSharpClientCodegen
+ For more information, please visit [https://support.immutable.com](https://support.immutable.com)
+
+
+## Version support
+This generator should support all current LTS versions of Unity
+- Unity 2020.3 (LTS) and up
+- .NET Standard 2.1 / .NET Framework
+
+
+## Dependencies
+
+- [Newtonsoft.Json](https://docs.unity3d.com/Packages/com.unity.nuget.newtonsoft-json@3.0/manual/index.html) - 3.0.2 or later
+
+
+## Installation
+Add the dependencies to `Packages/manifest.json`
+```
+{
+ "dependencies": {
+ ...
+ "com.unity.nuget.newtonsoft-json": "3.0.2"
+ }
+}
+```
+
+Then use the namespaces:
+```csharp
+using Immutable.Api.Api;
+using Immutable.Api.Client;
+using Immutable.Api.Model;
+```
+
+
+## Getting Started
+
+```csharp
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+using Immutable.Api.Api;
+using Immutable.Api.Client;
+using Immutable.Api.Model;
+
+namespace Immutable.ApiExample
+{
+
+ public class GetActivityExample : MonoBehaviour
+ {
+ async void Start()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.sandbox.immutable.com";
+ var apiInstance = new ActivitiesApi(config);
+ var chainName = imtbl-zkevm-testnet; // string | The name of chain
+ var activityId = "activityId_example"; // Guid | The id of activity
+
+ try
+ {
+ // Get a single activity by ID
+ GetActivityResult result = await apiInstance.GetActivityAsync(chainName, activityId);
+ Debug.Log(result);
+ Debug.Log("Done!");
+ }
+ catch (ApiException e)
+ {
+ Debug.LogError("Exception when calling ActivitiesApi.GetActivity: " + e.Message );
+ Debug.LogError("Status Code: "+ e.ErrorCode);
+ Debug.LogError(e.StackTrace);
+ }
+
+ }
+ }
+}
+```
+
+
+## Documentation for API Endpoints
+
+All URIs are relative to *https://api.sandbox.immutable.com*
+
+Class | Method | HTTP request | Description
+------------ | ------------- | ------------- | -------------
+*ActivitiesApi* | [**GetActivity**](ActivitiesApi.md#getactivity) | **GET** /v1/chains/{chain_name}/activities/{activity_id} | Get a single activity by ID
+*ActivitiesApi* | [**ListActivities**](ActivitiesApi.md#listactivities) | **GET** /v1/chains/{chain_name}/activities | List all activities
+*ActivitiesApi* | [**ListActivityHistory**](ActivitiesApi.md#listactivityhistory) | **GET** /v1/chains/{chain_name}/activity-history | List history of activities
+*ChainsApi* | [**ListChains**](ChainsApi.md#listchains) | **GET** /v1/chains | List supported chains
+*CollectionsApi* | [**GetCollection**](CollectionsApi.md#getcollection) | **GET** /v1/chains/{chain_name}/collections/{contract_address} | Get collection by contract address
+*CollectionsApi* | [**ListCollections**](CollectionsApi.md#listcollections) | **GET** /v1/chains/{chain_name}/collections | List all collections
+*CollectionsApi* | [**ListCollectionsByNFTOwner**](CollectionsApi.md#listcollectionsbynftowner) | **GET** /v1/chains/{chain_name}/accounts/{account_address}/collections | List collections by NFT owner
+*CollectionsApi* | [**RefreshCollectionMetadata**](CollectionsApi.md#refreshcollectionmetadata) | **POST** /v1/chains/{chain_name}/collections/{contract_address}/refresh-metadata | Refresh collection metadata
+*CraftingApi* | [**SignCraftingPayload**](CraftingApi.md#signcraftingpayload) | **POST** /v1/chains/{chain_name}/crafting/sign | Sign a crafting payload
+*MetadataApi* | [**GetMetadata**](MetadataApi.md#getmetadata) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/metadata/{metadata_id} | Get metadata by ID
+*MetadataApi* | [**ListMetadata**](MetadataApi.md#listmetadata) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/metadata | Get a list of metadata from the given contract
+*MetadataApi* | [**ListMetadataForChain**](MetadataApi.md#listmetadataforchain) | **GET** /v1/chains/{chain_name}/metadata | Get a list of metadata from the given chain
+*MetadataApi* | [**RefreshMetadataByID**](MetadataApi.md#refreshmetadatabyid) | **POST** /v1/chains/{chain_name}/collections/{contract_address}/metadata/refresh-metadata | Refresh stacked metadata
+*MetadataApi* | [**RefreshNFTMetadataByTokenID**](MetadataApi.md#refreshnftmetadatabytokenid) | **POST** /v1/chains/{chain_name}/collections/{contract_address}/nfts/refresh-metadata | Refresh NFT metadata
+*NftOwnersApi* | [**ListAllNFTOwners**](NftOwnersApi.md#listallnftowners) | **GET** /v1/chains/{chain_name}/nft-owners | List all NFT owners
+*NftOwnersApi* | [**ListNFTOwners**](NftOwnersApi.md#listnftowners) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/nfts/{token_id}/owners | List NFT owners by token ID
+*NftOwnersApi* | [**ListOwnersByContractAddress**](NftOwnersApi.md#listownersbycontractaddress) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/owners | List owners by contract address
+*NftsApi* | [**CreateMintRequest**](NftsApi.md#createmintrequest) | **POST** /v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests | Mint NFTs
+*NftsApi* | [**GetMintRequest**](NftsApi.md#getmintrequest) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests/{reference_id} | Get mint request by reference ID
+*NftsApi* | [**GetNFT**](NftsApi.md#getnft) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/nfts/{token_id} | Get NFT by token ID
+*NftsApi* | [**ListAllNFTs**](NftsApi.md#listallnfts) | **GET** /v1/chains/{chain_name}/nfts | List all NFTs
+*NftsApi* | [**ListMintRequests**](NftsApi.md#listmintrequests) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/nfts/mint-requests | List mint requests
+*NftsApi* | [**ListNFTs**](NftsApi.md#listnfts) | **GET** /v1/chains/{chain_name}/collections/{contract_address}/nfts | List NFTs by contract address
+*NftsApi* | [**ListNFTsByAccountAddress**](NftsApi.md#listnftsbyaccountaddress) | **GET** /v1/chains/{chain_name}/accounts/{account_address}/nfts | List NFTs by account address
+*OrdersApi* | [**CancelOrders**](OrdersApi.md#cancelorders) | **POST** /v1/chains/{chain_name}/orders/cancel | Cancel one or more orders
+*OrdersApi* | [**CreateBid**](OrdersApi.md#createbid) | **POST** /v1/chains/{chain_name}/orders/bids | Create a bid
+*OrdersApi* | [**CreateCollectionBid**](OrdersApi.md#createcollectionbid) | **POST** /v1/chains/{chain_name}/orders/collection-bids | Create a collection bid
+*OrdersApi* | [**CreateListing**](OrdersApi.md#createlisting) | **POST** /v1/chains/{chain_name}/orders/listings | Create a listing
+*OrdersApi* | [**FulfillmentData**](OrdersApi.md#fulfillmentdata) | **POST** /v1/chains/{chain_name}/orders/fulfillment-data | Retrieve fulfillment data for orders
+*OrdersApi* | [**GetBid**](OrdersApi.md#getbid) | **GET** /v1/chains/{chain_name}/orders/bids/{bid_id} | Get a single bid by ID
+*OrdersApi* | [**GetCollectionBid**](OrdersApi.md#getcollectionbid) | **GET** /v1/chains/{chain_name}/orders/collection-bids/{collection_bid_id} | Get a single collection bid by ID
+*OrdersApi* | [**GetListing**](OrdersApi.md#getlisting) | **GET** /v1/chains/{chain_name}/orders/listings/{listing_id} | Get a single listing by ID
+*OrdersApi* | [**GetTrade**](OrdersApi.md#gettrade) | **GET** /v1/chains/{chain_name}/trades/{trade_id} | Get a single trade by ID
+*OrdersApi* | [**ListBids**](OrdersApi.md#listbids) | **GET** /v1/chains/{chain_name}/orders/bids | List all bids
+*OrdersApi* | [**ListCollectionBids**](OrdersApi.md#listcollectionbids) | **GET** /v1/chains/{chain_name}/orders/collection-bids | List all collection bids
+*OrdersApi* | [**ListListings**](OrdersApi.md#listlistings) | **GET** /v1/chains/{chain_name}/orders/listings | List all listings
+*OrdersApi* | [**ListTrades**](OrdersApi.md#listtrades) | **GET** /v1/chains/{chain_name}/trades | List all trades
+*PassportApi* | [**GetLinkedAddresses**](PassportApi.md#getlinkedaddresses) | **GET** /v1/chains/{chain_name}/passport/users/{user_id}/linked-addresses | Get Ethereum linked addresses for a user
+*PassportProfileApi* | [**GetUserInfo**](PassportProfileApi.md#getuserinfo) | **GET** /passport-profile/v1/user/info | Get all info for a Passport user
+*PassportProfileApi* | [**LinkWalletV2**](PassportProfileApi.md#linkwalletv2) | **POST** /passport-profile/v2/linked-wallets | Link wallet v2
+*PricingApi* | [**QuotesForNFTs**](PricingApi.md#quotesfornfts) | **GET** /experimental/chains/{chain_name}/quotes/{contract_address}/nfts | Experimental: Get pricing data for a list of token ids
+*PricingApi* | [**QuotesForStacks**](PricingApi.md#quotesforstacks) | **GET** /experimental/chains/{chain_name}/quotes/{contract_address}/stacks | Experimental: Get pricing data for a list of stack ids
+*StacksApi* | [**SearchNFTs**](StacksApi.md#searchnfts) | **GET** /experimental/chains/{chain_name}/search/nfts | Experimental: Search NFTs
+*StacksApi* | [**SearchStacks**](StacksApi.md#searchstacks) | **GET** /experimental/chains/{chain_name}/search/stacks | Experimental: Search NFT stacks
+*TokensApi* | [**GetERC20Token**](TokensApi.md#geterc20token) | **GET** /v1/chains/{chain_name}/tokens/{contract_address} | Get single ERC20 token
+*TokensApi* | [**ListERC20Tokens**](TokensApi.md#listerc20tokens) | **GET** /v1/chains/{chain_name}/tokens | List ERC20 tokens
+
+
+
+## Documentation for Models
+
+ - [Model.APIError400](APIError400.md)
+ - [Model.APIError401](APIError401.md)
+ - [Model.APIError403](APIError403.md)
+ - [Model.APIError404](APIError404.md)
+ - [Model.APIError409](APIError409.md)
+ - [Model.APIError429](APIError429.md)
+ - [Model.APIError500](APIError500.md)
+ - [Model.APIError501](APIError501.md)
+ - [Model.ActiveOrderStatus](ActiveOrderStatus.md)
+ - [Model.Activity](Activity.md)
+ - [Model.ActivityAsset](ActivityAsset.md)
+ - [Model.ActivityDetails](ActivityDetails.md)
+ - [Model.ActivityNFT](ActivityNFT.md)
+ - [Model.ActivityNativeToken](ActivityNativeToken.md)
+ - [Model.ActivityToken](ActivityToken.md)
+ - [Model.ActivityType](ActivityType.md)
+ - [Model.AssetCollectionItem](AssetCollectionItem.md)
+ - [Model.AssetVerificationStatus](AssetVerificationStatus.md)
+ - [Model.BasicAPIError](BasicAPIError.md)
+ - [Model.BidResult](BidResult.md)
+ - [Model.BlockchainMetadata](BlockchainMetadata.md)
+ - [Model.Burn](Burn.md)
+ - [Model.Call](Call.md)
+ - [Model.CancelOrdersRequestBody](CancelOrdersRequestBody.md)
+ - [Model.CancelOrdersResult](CancelOrdersResult.md)
+ - [Model.CancelOrdersResultData](CancelOrdersResultData.md)
+ - [Model.CancelledOrderStatus](CancelledOrderStatus.md)
+ - [Model.Chain](Chain.md)
+ - [Model.ChainWithDetails](ChainWithDetails.md)
+ - [Model.Collection](Collection.md)
+ - [Model.CollectionBidResult](CollectionBidResult.md)
+ - [Model.CollectionContractType](CollectionContractType.md)
+ - [Model.CollectionMetadata](CollectionMetadata.md)
+ - [Model.CreateBidRequestBody](CreateBidRequestBody.md)
+ - [Model.CreateCollectionBidRequestBody](CreateCollectionBidRequestBody.md)
+ - [Model.CreateListingRequestBody](CreateListingRequestBody.md)
+ - [Model.CreateMintRequestRequest](CreateMintRequestRequest.md)
+ - [Model.CreateMintRequestResult](CreateMintRequestResult.md)
+ - [Model.Deposit](Deposit.md)
+ - [Model.ERC1155CollectionItem](ERC1155CollectionItem.md)
+ - [Model.ERC1155Item](ERC1155Item.md)
+ - [Model.ERC20Item](ERC20Item.md)
+ - [Model.ERC721CollectionItem](ERC721CollectionItem.md)
+ - [Model.ERC721Item](ERC721Item.md)
+ - [Model.ExpiredOrderStatus](ExpiredOrderStatus.md)
+ - [Model.FailedOrderCancellation](FailedOrderCancellation.md)
+ - [Model.Fee](Fee.md)
+ - [Model.FillStatus](FillStatus.md)
+ - [Model.FilledOrderStatus](FilledOrderStatus.md)
+ - [Model.FulfillableOrder](FulfillableOrder.md)
+ - [Model.FulfillmentData200Response](FulfillmentData200Response.md)
+ - [Model.FulfillmentData200ResponseResult](FulfillmentData200ResponseResult.md)
+ - [Model.FulfillmentDataRequest](FulfillmentDataRequest.md)
+ - [Model.GetActivityResult](GetActivityResult.md)
+ - [Model.GetCollectionResult](GetCollectionResult.md)
+ - [Model.GetLinkedAddressesRes](GetLinkedAddressesRes.md)
+ - [Model.GetMetadataResult](GetMetadataResult.md)
+ - [Model.GetMintRequestResult](GetMintRequestResult.md)
+ - [Model.GetNFTResult](GetNFTResult.md)
+ - [Model.GetTokenResult](GetTokenResult.md)
+ - [Model.InactiveOrderStatus](InactiveOrderStatus.md)
+ - [Model.Item](Item.md)
+ - [Model.LastTrade](LastTrade.md)
+ - [Model.LinkWalletV2Request](LinkWalletV2Request.md)
+ - [Model.ListActivitiesResult](ListActivitiesResult.md)
+ - [Model.ListBidsResult](ListBidsResult.md)
+ - [Model.ListChainsResult](ListChainsResult.md)
+ - [Model.ListCollectionBidsResult](ListCollectionBidsResult.md)
+ - [Model.ListCollectionOwnersResult](ListCollectionOwnersResult.md)
+ - [Model.ListCollectionsResult](ListCollectionsResult.md)
+ - [Model.ListListingsResult](ListListingsResult.md)
+ - [Model.ListMetadataResult](ListMetadataResult.md)
+ - [Model.ListMintRequestsResult](ListMintRequestsResult.md)
+ - [Model.ListNFTOwnersResult](ListNFTOwnersResult.md)
+ - [Model.ListNFTsByOwnerResult](ListNFTsByOwnerResult.md)
+ - [Model.ListNFTsResult](ListNFTsResult.md)
+ - [Model.ListTokensResult](ListTokensResult.md)
+ - [Model.ListTradeResult](ListTradeResult.md)
+ - [Model.Listing](Listing.md)
+ - [Model.ListingResult](ListingResult.md)
+ - [Model.Market](Market.md)
+ - [Model.MarketNft](MarketNft.md)
+ - [Model.MarketPriceDetails](MarketPriceDetails.md)
+ - [Model.MarketPriceDetailsToken](MarketPriceDetailsToken.md)
+ - [Model.MarketPriceERC20Token](MarketPriceERC20Token.md)
+ - [Model.MarketPriceFees](MarketPriceFees.md)
+ - [Model.MarketPriceNativeToken](MarketPriceNativeToken.md)
+ - [Model.MarketplaceContractType](MarketplaceContractType.md)
+ - [Model.Metadata](Metadata.md)
+ - [Model.MetadataRefreshRateLimitResult](MetadataRefreshRateLimitResult.md)
+ - [Model.Mint](Mint.md)
+ - [Model.MintAsset](MintAsset.md)
+ - [Model.MintRequestErrorMessage](MintRequestErrorMessage.md)
+ - [Model.MintRequestStatus](MintRequestStatus.md)
+ - [Model.NFT](NFT.md)
+ - [Model.NFTBundle](NFTBundle.md)
+ - [Model.NFTContractType](NFTContractType.md)
+ - [Model.NFTMetadataAttribute](NFTMetadataAttribute.md)
+ - [Model.NFTMetadataAttributeValue](NFTMetadataAttributeValue.md)
+ - [Model.NFTMetadataRequest](NFTMetadataRequest.md)
+ - [Model.NFTOwner](NFTOwner.md)
+ - [Model.NFTQuoteResult](NFTQuoteResult.md)
+ - [Model.NFTSale](NFTSale.md)
+ - [Model.NFTWithBalance](NFTWithBalance.md)
+ - [Model.NFTWithOwner](NFTWithOwner.md)
+ - [Model.NFTWithStack](NFTWithStack.md)
+ - [Model.NativeItem](NativeItem.md)
+ - [Model.OperatorAllowlistContractStatus](OperatorAllowlistContractStatus.md)
+ - [Model.OperatorAllowlistContractStatusInternal](OperatorAllowlistContractStatusInternal.md)
+ - [Model.OperatorAllowlistStatus](OperatorAllowlistStatus.md)
+ - [Model.OperatorAllowlistStatusDetails](OperatorAllowlistStatusDetails.md)
+ - [Model.OperatorAllowlistStatusRequested](OperatorAllowlistStatusRequested.md)
+ - [Model.OperatorAllowlistStatusUpdated](OperatorAllowlistStatusUpdated.md)
+ - [Model.Order](Order.md)
+ - [Model.OrderStatus](OrderStatus.md)
+ - [Model.OrderStatusName](OrderStatusName.md)
+ - [Model.OrganisationTier](OrganisationTier.md)
+ - [Model.Page](Page.md)
+ - [Model.PendingOrderStatus](PendingOrderStatus.md)
+ - [Model.ProtocolData](ProtocolData.md)
+ - [Model.QuotesForNFTsResult](QuotesForNFTsResult.md)
+ - [Model.QuotesForStacksResult](QuotesForStacksResult.md)
+ - [Model.RefreshCollectionMetadataRequest](RefreshCollectionMetadataRequest.md)
+ - [Model.RefreshCollectionMetadataResult](RefreshCollectionMetadataResult.md)
+ - [Model.RefreshMetadataByID](RefreshMetadataByID.md)
+ - [Model.RefreshMetadataByIDRequest](RefreshMetadataByIDRequest.md)
+ - [Model.RefreshMetadataByTokenID](RefreshMetadataByTokenID.md)
+ - [Model.RefreshNFTMetadataByTokenIDRequest](RefreshNFTMetadataByTokenIDRequest.md)
+ - [Model.RefreshableNFTAttributes](RefreshableNFTAttributes.md)
+ - [Model.SaleFee](SaleFee.md)
+ - [Model.SalePayment](SalePayment.md)
+ - [Model.SalePaymentToken](SalePaymentToken.md)
+ - [Model.SearchNFTsResult](SearchNFTsResult.md)
+ - [Model.SearchStacksResult](SearchStacksResult.md)
+ - [Model.SignCraftingRequest](SignCraftingRequest.md)
+ - [Model.SignCraftingRequestMultiCaller](SignCraftingRequestMultiCaller.md)
+ - [Model.SignCraftingResult](SignCraftingResult.md)
+ - [Model.Stack](Stack.md)
+ - [Model.StackBundle](StackBundle.md)
+ - [Model.StackQuoteResult](StackQuoteResult.md)
+ - [Model.Token](Token.md)
+ - [Model.TokenContractType](TokenContractType.md)
+ - [Model.Trade](Trade.md)
+ - [Model.TradeBlockchainMetadata](TradeBlockchainMetadata.md)
+ - [Model.TradeResult](TradeResult.md)
+ - [Model.Transfer](Transfer.md)
+ - [Model.UnfulfillableOrder](UnfulfillableOrder.md)
+ - [Model.UserInfo](UserInfo.md)
+ - [Model.VerificationRequest](VerificationRequest.md)
+ - [Model.VerificationRequestContractType](VerificationRequestContractType.md)
+ - [Model.VerificationRequestInternal](VerificationRequestInternal.md)
+ - [Model.VerificationRequestStatus](VerificationRequestStatus.md)
+ - [Model.Wallet](Wallet.md)
+ - [Model.Withdrawal](Withdrawal.md)
+
+
+
+## Documentation for Authorization
+
+
+Authentication schemes defined for the API:
+
+### BearerAuth
+
+- **Type**: Bearer Authentication
+
+
+### ImmutableApiKey
+
+- **Type**: API key
+- **API key parameter name**: x-immutable-api-key
+- **Location**: HTTP header
+
diff --git a/src/Packages/ZkEvmApi/README.md.meta b/src/Packages/ZkEvmApi/README.md.meta
new file mode 100644
index 00000000..8997995c
--- /dev/null
+++ b/src/Packages/ZkEvmApi/README.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 90b3f65e61d344aea9491c515318ad91
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Runtime.meta b/src/Packages/ZkEvmApi/Runtime.meta
new file mode 100644
index 00000000..9c11c65a
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f3501efe6bd5c406e8e1bea86d2a7afc
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Runtime/Api.meta b/src/Packages/ZkEvmApi/Runtime/Api.meta
new file mode 100644
index 00000000..8ccc7022
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Api.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 787a9684646bb4aac82fa8bbd6f82cce
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Runtime/Api/ActivitiesApi.cs b/src/Packages/ZkEvmApi/Runtime/Api/ActivitiesApi.cs
new file mode 100644
index 00000000..08b9698b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Api/ActivitiesApi.cs
@@ -0,0 +1,906 @@
+/*
+ * Immutable zkEVM API
+ *
+ * Immutable Multi Rollup API
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@immutable.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Net;
+using System.Net.Mime;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Immutable.Api.ZkEvm.Api
+{
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IActivitiesApiSync : IApiAccessor
+ {
+ #region Synchronous Operations
+ ///
+ /// Get a single activity by ID
+ ///
+ ///
+ /// Get a single activity by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The id of activity
+ /// GetActivityResult
+ GetActivityResult GetActivity(string chainName, Guid activityId);
+
+ ///
+ /// Get a single activity by ID
+ ///
+ ///
+ /// Get a single activity by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The id of activity
+ /// ApiResponse of GetActivityResult
+ ApiResponse GetActivityWithHttpInfo(string chainName, Guid activityId);
+ ///
+ /// List all activities
+ ///
+ ///
+ /// List all activities
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The contract address of NFT or ERC20 Token (optional)
+ /// An `uint256` token id as string (optional)
+ /// The account address activity contains (optional)
+ /// The activity type (optional)
+ /// The transaction hash of activity (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListActivitiesResult
+ ListActivitiesResult ListActivities(string chainName, string? contractAddress = default(string?), string? tokenId = default(string?), string? accountAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? transactionHash = default(string?), string? pageCursor = default(string?), int? pageSize = default(int?));
+
+ ///
+ /// List all activities
+ ///
+ ///
+ /// List all activities
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The contract address of NFT or ERC20 Token (optional)
+ /// An `uint256` token id as string (optional)
+ /// The account address activity contains (optional)
+ /// The activity type (optional)
+ /// The transaction hash of activity (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListActivitiesResult
+ ApiResponse ListActivitiesWithHttpInfo(string chainName, string? contractAddress = default(string?), string? tokenId = default(string?), string? accountAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? transactionHash = default(string?), string? pageCursor = default(string?), int? pageSize = default(int?));
+ ///
+ /// List history of activities
+ ///
+ ///
+ /// List activities sorted by updated_at timestamp ascending, useful for time based data replication
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// From indexed at including given date
+ /// To indexed at including given date (optional)
+ /// The contract address of the collection (optional)
+ /// The activity type (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListActivitiesResult
+ ListActivitiesResult ListActivityHistory(string chainName, DateTime fromUpdatedAt, DateTime? toUpdatedAt = default(DateTime?), string? contractAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? pageCursor = default(string?), int? pageSize = default(int?));
+
+ ///
+ /// List history of activities
+ ///
+ ///
+ /// List activities sorted by updated_at timestamp ascending, useful for time based data replication
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// From indexed at including given date
+ /// To indexed at including given date (optional)
+ /// The contract address of the collection (optional)
+ /// The activity type (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListActivitiesResult
+ ApiResponse ListActivityHistoryWithHttpInfo(string chainName, DateTime fromUpdatedAt, DateTime? toUpdatedAt = default(DateTime?), string? contractAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? pageCursor = default(string?), int? pageSize = default(int?));
+ #endregion Synchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IActivitiesApiAsync : IApiAccessor
+ {
+ #region Asynchronous Operations
+ ///
+ /// Get a single activity by ID
+ ///
+ ///
+ /// Get a single activity by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The id of activity
+ /// Cancellation Token to cancel the request.
+ /// Task of GetActivityResult
+ System.Threading.Tasks.Task GetActivityAsync(string chainName, Guid activityId, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Get a single activity by ID
+ ///
+ ///
+ /// Get a single activity by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The id of activity
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (GetActivityResult)
+ System.Threading.Tasks.Task> GetActivityWithHttpInfoAsync(string chainName, Guid activityId, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ ///
+ /// List all activities
+ ///
+ ///
+ /// List all activities
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The contract address of NFT or ERC20 Token (optional)
+ /// An `uint256` token id as string (optional)
+ /// The account address activity contains (optional)
+ /// The activity type (optional)
+ /// The transaction hash of activity (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListActivitiesResult
+ System.Threading.Tasks.Task ListActivitiesAsync(string chainName, string? contractAddress = default(string?), string? tokenId = default(string?), string? accountAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? transactionHash = default(string?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// List all activities
+ ///
+ ///
+ /// List all activities
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The contract address of NFT or ERC20 Token (optional)
+ /// An `uint256` token id as string (optional)
+ /// The account address activity contains (optional)
+ /// The activity type (optional)
+ /// The transaction hash of activity (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListActivitiesResult)
+ System.Threading.Tasks.Task> ListActivitiesWithHttpInfoAsync(string chainName, string? contractAddress = default(string?), string? tokenId = default(string?), string? accountAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? transactionHash = default(string?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ ///
+ /// List history of activities
+ ///
+ ///
+ /// List activities sorted by updated_at timestamp ascending, useful for time based data replication
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// From indexed at including given date
+ /// To indexed at including given date (optional)
+ /// The contract address of the collection (optional)
+ /// The activity type (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListActivitiesResult
+ System.Threading.Tasks.Task ListActivityHistoryAsync(string chainName, DateTime fromUpdatedAt, DateTime? toUpdatedAt = default(DateTime?), string? contractAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// List history of activities
+ ///
+ ///
+ /// List activities sorted by updated_at timestamp ascending, useful for time based data replication
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// From indexed at including given date
+ /// To indexed at including given date (optional)
+ /// The contract address of the collection (optional)
+ /// The activity type (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListActivitiesResult)
+ System.Threading.Tasks.Task> ListActivityHistoryWithHttpInfoAsync(string chainName, DateTime fromUpdatedAt, DateTime? toUpdatedAt = default(DateTime?), string? contractAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ #endregion Asynchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IActivitiesApi : IActivitiesApiSync, IActivitiesApiAsync
+ {
+
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public partial class ActivitiesApi : IDisposable, IActivitiesApi
+ {
+ private Immutable.Api.ZkEvm.Client.ExceptionFactory _exceptionFactory = (name, response) => null;
+
+ ///
+ /// Initializes a new instance of the class.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ ///
+ public ActivitiesApi() : this((string)null)
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ /// The target service's base path in URL format.
+ ///
+ ///
+ public ActivitiesApi(string basePath)
+ {
+ this.Configuration = Immutable.Api.ZkEvm.Client.Configuration.MergeConfigurations(
+ Immutable.Api.ZkEvm.Client.GlobalConfiguration.Instance,
+ new Immutable.Api.ZkEvm.Client.Configuration { BasePath = basePath }
+ );
+ this.ApiClient = new Immutable.Api.ZkEvm.Client.ApiClient(this.Configuration.BasePath);
+ this.Client = this.ApiClient;
+ this.AsynchronousClient = this.ApiClient;
+ this.ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class using Configuration object.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ /// An instance of Configuration.
+ ///
+ ///
+ public ActivitiesApi(Immutable.Api.ZkEvm.Client.Configuration configuration)
+ {
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ this.Configuration = Immutable.Api.ZkEvm.Client.Configuration.MergeConfigurations(
+ Immutable.Api.ZkEvm.Client.GlobalConfiguration.Instance,
+ configuration
+ );
+ this.ApiClient = new Immutable.Api.ZkEvm.Client.ApiClient(this.Configuration.BasePath);
+ this.Client = this.ApiClient;
+ this.AsynchronousClient = this.ApiClient;
+ ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class
+ /// using a Configuration object and client instance.
+ ///
+ /// The client interface for synchronous API access.
+ /// The client interface for asynchronous API access.
+ /// The configuration object.
+ ///
+ public ActivitiesApi(Immutable.Api.ZkEvm.Client.ISynchronousClient client, Immutable.Api.ZkEvm.Client.IAsynchronousClient asyncClient, Immutable.Api.ZkEvm.Client.IReadableConfiguration configuration)
+ {
+ if (client == null) throw new ArgumentNullException("client");
+ if (asyncClient == null) throw new ArgumentNullException("asyncClient");
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ this.Client = client;
+ this.AsynchronousClient = asyncClient;
+ this.Configuration = configuration;
+ this.ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Disposes resources if they were created by us
+ ///
+ public void Dispose()
+ {
+ this.ApiClient?.Dispose();
+ }
+
+ ///
+ /// Holds the ApiClient if created
+ ///
+ public Immutable.Api.ZkEvm.Client.ApiClient ApiClient { get; set; } = null;
+
+ ///
+ /// The client for accessing this underlying API asynchronously.
+ ///
+ public Immutable.Api.ZkEvm.Client.IAsynchronousClient AsynchronousClient { get; set; }
+
+ ///
+ /// The client for accessing this underlying API synchronously.
+ ///
+ public Immutable.Api.ZkEvm.Client.ISynchronousClient Client { get; set; }
+
+ ///
+ /// Gets the base path of the API client.
+ ///
+ /// The base path
+ public string GetBasePath()
+ {
+ return this.Configuration.BasePath;
+ }
+
+ ///
+ /// Gets or sets the configuration object
+ ///
+ /// An instance of the Configuration
+ public Immutable.Api.ZkEvm.Client.IReadableConfiguration Configuration { get; set; }
+
+ ///
+ /// Provides a factory method hook for the creation of exceptions.
+ ///
+ public Immutable.Api.ZkEvm.Client.ExceptionFactory ExceptionFactory
+ {
+ get
+ {
+ if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1)
+ {
+ throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported.");
+ }
+ return _exceptionFactory;
+ }
+ set { _exceptionFactory = value; }
+ }
+
+ ///
+ /// Get a single activity by ID Get a single activity by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The id of activity
+ /// GetActivityResult
+ public GetActivityResult GetActivity(string chainName, Guid activityId)
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = GetActivityWithHttpInfo(chainName, activityId);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Get a single activity by ID Get a single activity by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The id of activity
+ /// ApiResponse of GetActivityResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse GetActivityWithHttpInfo(string chainName, Guid activityId)
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling ActivitiesApi->GetActivity");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.PathParameters.Add("activity_id", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(activityId)); // path parameter
+
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Get("/v1/chains/{chain_name}/activities/{activity_id}", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("GetActivity", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Get a single activity by ID Get a single activity by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The id of activity
+ /// Cancellation Token to cancel the request.
+ /// Task of GetActivityResult
+ public async System.Threading.Tasks.Task GetActivityAsync(string chainName, Guid activityId, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = GetActivityWithHttpInfoAsync(chainName, activityId, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Get a single activity by ID Get a single activity by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The id of activity
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (GetActivityResult)
+ public async System.Threading.Tasks.Task> GetActivityWithHttpInfoAsync(string chainName, Guid activityId, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling ActivitiesApi->GetActivity");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.PathParameters.Add("activity_id", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(activityId)); // path parameter
+
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.GetAsync("/v1/chains/{chain_name}/activities/{activity_id}", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("GetActivity", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// List all activities List all activities
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The contract address of NFT or ERC20 Token (optional)
+ /// An `uint256` token id as string (optional)
+ /// The account address activity contains (optional)
+ /// The activity type (optional)
+ /// The transaction hash of activity (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListActivitiesResult
+ public ListActivitiesResult ListActivities(string chainName, string? contractAddress = default(string?), string? tokenId = default(string?), string? accountAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? transactionHash = default(string?), string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = ListActivitiesWithHttpInfo(chainName, contractAddress, tokenId, accountAddress, activityType, transactionHash, pageCursor, pageSize);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// List all activities List all activities
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The contract address of NFT or ERC20 Token (optional)
+ /// An `uint256` token id as string (optional)
+ /// The account address activity contains (optional)
+ /// The activity type (optional)
+ /// The transaction hash of activity (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListActivitiesResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse ListActivitiesWithHttpInfo(string chainName, string? contractAddress = default(string?), string? tokenId = default(string?), string? accountAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? transactionHash = default(string?), string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling ActivitiesApi->ListActivities");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ if (contractAddress != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "contract_address", contractAddress));
+ }
+ if (tokenId != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "token_id", tokenId));
+ }
+ if (accountAddress != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "account_address", accountAddress));
+ }
+ if (activityType != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "activity_type", activityType));
+ }
+ if (transactionHash != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "transaction_hash", transactionHash));
+ }
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Get("/v1/chains/{chain_name}/activities", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListActivities", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// List all activities List all activities
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The contract address of NFT or ERC20 Token (optional)
+ /// An `uint256` token id as string (optional)
+ /// The account address activity contains (optional)
+ /// The activity type (optional)
+ /// The transaction hash of activity (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListActivitiesResult
+ public async System.Threading.Tasks.Task ListActivitiesAsync(string chainName, string? contractAddress = default(string?), string? tokenId = default(string?), string? accountAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? transactionHash = default(string?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = ListActivitiesWithHttpInfoAsync(chainName, contractAddress, tokenId, accountAddress, activityType, transactionHash, pageCursor, pageSize, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// List all activities List all activities
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The contract address of NFT or ERC20 Token (optional)
+ /// An `uint256` token id as string (optional)
+ /// The account address activity contains (optional)
+ /// The activity type (optional)
+ /// The transaction hash of activity (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListActivitiesResult)
+ public async System.Threading.Tasks.Task> ListActivitiesWithHttpInfoAsync(string chainName, string? contractAddress = default(string?), string? tokenId = default(string?), string? accountAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? transactionHash = default(string?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling ActivitiesApi->ListActivities");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ if (contractAddress != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "contract_address", contractAddress));
+ }
+ if (tokenId != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "token_id", tokenId));
+ }
+ if (accountAddress != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "account_address", accountAddress));
+ }
+ if (activityType != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "activity_type", activityType));
+ }
+ if (transactionHash != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "transaction_hash", transactionHash));
+ }
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.GetAsync("/v1/chains/{chain_name}/activities", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListActivities", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// List history of activities List activities sorted by updated_at timestamp ascending, useful for time based data replication
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// From indexed at including given date
+ /// To indexed at including given date (optional)
+ /// The contract address of the collection (optional)
+ /// The activity type (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListActivitiesResult
+ public ListActivitiesResult ListActivityHistory(string chainName, DateTime fromUpdatedAt, DateTime? toUpdatedAt = default(DateTime?), string? contractAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = ListActivityHistoryWithHttpInfo(chainName, fromUpdatedAt, toUpdatedAt, contractAddress, activityType, pageCursor, pageSize);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// List history of activities List activities sorted by updated_at timestamp ascending, useful for time based data replication
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// From indexed at including given date
+ /// To indexed at including given date (optional)
+ /// The contract address of the collection (optional)
+ /// The activity type (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListActivitiesResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse ListActivityHistoryWithHttpInfo(string chainName, DateTime fromUpdatedAt, DateTime? toUpdatedAt = default(DateTime?), string? contractAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling ActivitiesApi->ListActivityHistory");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "from_updated_at", fromUpdatedAt));
+ if (toUpdatedAt != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "to_updated_at", toUpdatedAt));
+ }
+ if (contractAddress != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "contract_address", contractAddress));
+ }
+ if (activityType != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "activity_type", activityType));
+ }
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Get("/v1/chains/{chain_name}/activity-history", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListActivityHistory", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// List history of activities List activities sorted by updated_at timestamp ascending, useful for time based data replication
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// From indexed at including given date
+ /// To indexed at including given date (optional)
+ /// The contract address of the collection (optional)
+ /// The activity type (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListActivitiesResult
+ public async System.Threading.Tasks.Task ListActivityHistoryAsync(string chainName, DateTime fromUpdatedAt, DateTime? toUpdatedAt = default(DateTime?), string? contractAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = ListActivityHistoryWithHttpInfoAsync(chainName, fromUpdatedAt, toUpdatedAt, contractAddress, activityType, pageCursor, pageSize, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// List history of activities List activities sorted by updated_at timestamp ascending, useful for time based data replication
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// From indexed at including given date
+ /// To indexed at including given date (optional)
+ /// The contract address of the collection (optional)
+ /// The activity type (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListActivitiesResult)
+ public async System.Threading.Tasks.Task> ListActivityHistoryWithHttpInfoAsync(string chainName, DateTime fromUpdatedAt, DateTime? toUpdatedAt = default(DateTime?), string? contractAddress = default(string?), ActivityType? activityType = default(ActivityType?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling ActivitiesApi->ListActivityHistory");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "from_updated_at", fromUpdatedAt));
+ if (toUpdatedAt != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "to_updated_at", toUpdatedAt));
+ }
+ if (contractAddress != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "contract_address", contractAddress));
+ }
+ if (activityType != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "activity_type", activityType));
+ }
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.GetAsync("/v1/chains/{chain_name}/activity-history", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListActivityHistory", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ }
+}
diff --git a/src/Packages/ZkEvmApi/Runtime/Api/ActivitiesApi.cs.meta b/src/Packages/ZkEvmApi/Runtime/Api/ActivitiesApi.cs.meta
new file mode 100644
index 00000000..9add16e1
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Api/ActivitiesApi.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 169b972d6ade347a2b869744be709f38
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Runtime/Api/ChainsApi.cs b/src/Packages/ZkEvmApi/Runtime/Api/ChainsApi.cs
new file mode 100644
index 00000000..fef51a4b
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Api/ChainsApi.cs
@@ -0,0 +1,368 @@
+/*
+ * Immutable zkEVM API
+ *
+ * Immutable Multi Rollup API
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@immutable.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Net;
+using System.Net.Mime;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Immutable.Api.ZkEvm.Api
+{
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IChainsApiSync : IApiAccessor
+ {
+ #region Synchronous Operations
+ ///
+ /// List supported chains
+ ///
+ ///
+ /// List supported chains
+ ///
+ /// Thrown when fails to make API call
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListChainsResult
+ ListChainsResult ListChains(string? pageCursor = default(string?), int? pageSize = default(int?));
+
+ ///
+ /// List supported chains
+ ///
+ ///
+ /// List supported chains
+ ///
+ /// Thrown when fails to make API call
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListChainsResult
+ ApiResponse ListChainsWithHttpInfo(string? pageCursor = default(string?), int? pageSize = default(int?));
+ #endregion Synchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IChainsApiAsync : IApiAccessor
+ {
+ #region Asynchronous Operations
+ ///
+ /// List supported chains
+ ///
+ ///
+ /// List supported chains
+ ///
+ /// Thrown when fails to make API call
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListChainsResult
+ System.Threading.Tasks.Task ListChainsAsync(string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// List supported chains
+ ///
+ ///
+ /// List supported chains
+ ///
+ /// Thrown when fails to make API call
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListChainsResult)
+ System.Threading.Tasks.Task> ListChainsWithHttpInfoAsync(string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ #endregion Asynchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IChainsApi : IChainsApiSync, IChainsApiAsync
+ {
+
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public partial class ChainsApi : IDisposable, IChainsApi
+ {
+ private Immutable.Api.ZkEvm.Client.ExceptionFactory _exceptionFactory = (name, response) => null;
+
+ ///
+ /// Initializes a new instance of the class.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ ///
+ public ChainsApi() : this((string)null)
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ /// The target service's base path in URL format.
+ ///
+ ///
+ public ChainsApi(string basePath)
+ {
+ this.Configuration = Immutable.Api.ZkEvm.Client.Configuration.MergeConfigurations(
+ Immutable.Api.ZkEvm.Client.GlobalConfiguration.Instance,
+ new Immutable.Api.ZkEvm.Client.Configuration { BasePath = basePath }
+ );
+ this.ApiClient = new Immutable.Api.ZkEvm.Client.ApiClient(this.Configuration.BasePath);
+ this.Client = this.ApiClient;
+ this.AsynchronousClient = this.ApiClient;
+ this.ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class using Configuration object.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ /// An instance of Configuration.
+ ///
+ ///
+ public ChainsApi(Immutable.Api.ZkEvm.Client.Configuration configuration)
+ {
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ this.Configuration = Immutable.Api.ZkEvm.Client.Configuration.MergeConfigurations(
+ Immutable.Api.ZkEvm.Client.GlobalConfiguration.Instance,
+ configuration
+ );
+ this.ApiClient = new Immutable.Api.ZkEvm.Client.ApiClient(this.Configuration.BasePath);
+ this.Client = this.ApiClient;
+ this.AsynchronousClient = this.ApiClient;
+ ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class
+ /// using a Configuration object and client instance.
+ ///
+ /// The client interface for synchronous API access.
+ /// The client interface for asynchronous API access.
+ /// The configuration object.
+ ///
+ public ChainsApi(Immutable.Api.ZkEvm.Client.ISynchronousClient client, Immutable.Api.ZkEvm.Client.IAsynchronousClient asyncClient, Immutable.Api.ZkEvm.Client.IReadableConfiguration configuration)
+ {
+ if (client == null) throw new ArgumentNullException("client");
+ if (asyncClient == null) throw new ArgumentNullException("asyncClient");
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ this.Client = client;
+ this.AsynchronousClient = asyncClient;
+ this.Configuration = configuration;
+ this.ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Disposes resources if they were created by us
+ ///
+ public void Dispose()
+ {
+ this.ApiClient?.Dispose();
+ }
+
+ ///
+ /// Holds the ApiClient if created
+ ///
+ public Immutable.Api.ZkEvm.Client.ApiClient ApiClient { get; set; } = null;
+
+ ///
+ /// The client for accessing this underlying API asynchronously.
+ ///
+ public Immutable.Api.ZkEvm.Client.IAsynchronousClient AsynchronousClient { get; set; }
+
+ ///
+ /// The client for accessing this underlying API synchronously.
+ ///
+ public Immutable.Api.ZkEvm.Client.ISynchronousClient Client { get; set; }
+
+ ///
+ /// Gets the base path of the API client.
+ ///
+ /// The base path
+ public string GetBasePath()
+ {
+ return this.Configuration.BasePath;
+ }
+
+ ///
+ /// Gets or sets the configuration object
+ ///
+ /// An instance of the Configuration
+ public Immutable.Api.ZkEvm.Client.IReadableConfiguration Configuration { get; set; }
+
+ ///
+ /// Provides a factory method hook for the creation of exceptions.
+ ///
+ public Immutable.Api.ZkEvm.Client.ExceptionFactory ExceptionFactory
+ {
+ get
+ {
+ if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1)
+ {
+ throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported.");
+ }
+ return _exceptionFactory;
+ }
+ set { _exceptionFactory = value; }
+ }
+
+ ///
+ /// List supported chains List supported chains
+ ///
+ /// Thrown when fails to make API call
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListChainsResult
+ public ListChainsResult ListChains(string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = ListChainsWithHttpInfo(pageCursor, pageSize);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// List supported chains List supported chains
+ ///
+ /// Thrown when fails to make API call
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListChainsResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse ListChainsWithHttpInfo(string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Get("/v1/chains", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListChains", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// List supported chains List supported chains
+ ///
+ /// Thrown when fails to make API call
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListChainsResult
+ public async System.Threading.Tasks.Task ListChainsAsync(string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = ListChainsWithHttpInfoAsync(pageCursor, pageSize, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// List supported chains List supported chains
+ ///
+ /// Thrown when fails to make API call
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListChainsResult)
+ public async System.Threading.Tasks.Task> ListChainsWithHttpInfoAsync(string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.GetAsync("/v1/chains", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListChains", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ }
+}
diff --git a/src/Packages/ZkEvmApi/Runtime/Api/ChainsApi.cs.meta b/src/Packages/ZkEvmApi/Runtime/Api/ChainsApi.cs.meta
new file mode 100644
index 00000000..ea3967f6
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Api/ChainsApi.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9f05d0a419270484ba5e4f02c65cdafe
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Runtime/Api/CollectionsApi.cs b/src/Packages/ZkEvmApi/Runtime/Api/CollectionsApi.cs
new file mode 100644
index 00000000..27077fde
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Api/CollectionsApi.cs
@@ -0,0 +1,1072 @@
+/*
+ * Immutable zkEVM API
+ *
+ * Immutable Multi Rollup API
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@immutable.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Net;
+using System.Net.Mime;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Immutable.Api.ZkEvm.Api
+{
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface ICollectionsApiSync : IApiAccessor
+ {
+ #region Synchronous Operations
+ ///
+ /// Get collection by contract address
+ ///
+ ///
+ /// Get collection by contract address
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// GetCollectionResult
+ GetCollectionResult GetCollection(string contractAddress, string chainName);
+
+ ///
+ /// Get collection by contract address
+ ///
+ ///
+ /// Get collection by contract address
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// ApiResponse of GetCollectionResult
+ ApiResponse GetCollectionWithHttpInfo(string contractAddress, string chainName);
+ ///
+ /// List all collections
+ ///
+ ///
+ /// List all collections
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// List of contract addresses to filter by (optional)
+ /// List of verification status to filter by (optional)
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListCollectionsResult
+ ListCollectionsResult ListCollections(string chainName, List? contractAddress = default(List?), List? verificationStatus = default(List?), DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?));
+
+ ///
+ /// List all collections
+ ///
+ ///
+ /// List all collections
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// List of contract addresses to filter by (optional)
+ /// List of verification status to filter by (optional)
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListCollectionsResult
+ ApiResponse ListCollectionsWithHttpInfo(string chainName, List? contractAddress = default(List?), List? verificationStatus = default(List?), DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?));
+ ///
+ /// List collections by NFT owner
+ ///
+ ///
+ /// List collections by NFT owner account address
+ ///
+ /// Thrown when fails to make API call
+ /// Account address
+ /// The name of chain
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListCollectionsResult
+ ListCollectionsResult ListCollectionsByNFTOwner(string accountAddress, string chainName, string? pageCursor = default(string?), int? pageSize = default(int?));
+
+ ///
+ /// List collections by NFT owner
+ ///
+ ///
+ /// List collections by NFT owner account address
+ ///
+ /// Thrown when fails to make API call
+ /// Account address
+ /// The name of chain
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListCollectionsResult
+ ApiResponse ListCollectionsByNFTOwnerWithHttpInfo(string accountAddress, string chainName, string? pageCursor = default(string?), int? pageSize = default(int?));
+ ///
+ /// Refresh collection metadata
+ ///
+ ///
+ /// Refresh collection metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// The request body
+ /// RefreshCollectionMetadataResult
+ RefreshCollectionMetadataResult RefreshCollectionMetadata(string contractAddress, string chainName, RefreshCollectionMetadataRequest refreshCollectionMetadataRequest);
+
+ ///
+ /// Refresh collection metadata
+ ///
+ ///
+ /// Refresh collection metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// The request body
+ /// ApiResponse of RefreshCollectionMetadataResult
+ ApiResponse RefreshCollectionMetadataWithHttpInfo(string contractAddress, string chainName, RefreshCollectionMetadataRequest refreshCollectionMetadataRequest);
+ #endregion Synchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface ICollectionsApiAsync : IApiAccessor
+ {
+ #region Asynchronous Operations
+ ///
+ /// Get collection by contract address
+ ///
+ ///
+ /// Get collection by contract address
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// Cancellation Token to cancel the request.
+ /// Task of GetCollectionResult
+ System.Threading.Tasks.Task GetCollectionAsync(string contractAddress, string chainName, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Get collection by contract address
+ ///
+ ///
+ /// Get collection by contract address
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (GetCollectionResult)
+ System.Threading.Tasks.Task> GetCollectionWithHttpInfoAsync(string contractAddress, string chainName, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ ///
+ /// List all collections
+ ///
+ ///
+ /// List all collections
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// List of contract addresses to filter by (optional)
+ /// List of verification status to filter by (optional)
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListCollectionsResult
+ System.Threading.Tasks.Task ListCollectionsAsync(string chainName, List? contractAddress = default(List?), List? verificationStatus = default(List?), DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// List all collections
+ ///
+ ///
+ /// List all collections
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// List of contract addresses to filter by (optional)
+ /// List of verification status to filter by (optional)
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListCollectionsResult)
+ System.Threading.Tasks.Task> ListCollectionsWithHttpInfoAsync(string chainName, List? contractAddress = default(List?), List? verificationStatus = default(List?), DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ ///
+ /// List collections by NFT owner
+ ///
+ ///
+ /// List collections by NFT owner account address
+ ///
+ /// Thrown when fails to make API call
+ /// Account address
+ /// The name of chain
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListCollectionsResult
+ System.Threading.Tasks.Task ListCollectionsByNFTOwnerAsync(string accountAddress, string chainName, string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// List collections by NFT owner
+ ///
+ ///
+ /// List collections by NFT owner account address
+ ///
+ /// Thrown when fails to make API call
+ /// Account address
+ /// The name of chain
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListCollectionsResult)
+ System.Threading.Tasks.Task> ListCollectionsByNFTOwnerWithHttpInfoAsync(string accountAddress, string chainName, string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ ///
+ /// Refresh collection metadata
+ ///
+ ///
+ /// Refresh collection metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// The request body
+ /// Cancellation Token to cancel the request.
+ /// Task of RefreshCollectionMetadataResult
+ System.Threading.Tasks.Task RefreshCollectionMetadataAsync(string contractAddress, string chainName, RefreshCollectionMetadataRequest refreshCollectionMetadataRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Refresh collection metadata
+ ///
+ ///
+ /// Refresh collection metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// The request body
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (RefreshCollectionMetadataResult)
+ System.Threading.Tasks.Task> RefreshCollectionMetadataWithHttpInfoAsync(string contractAddress, string chainName, RefreshCollectionMetadataRequest refreshCollectionMetadataRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ #endregion Asynchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface ICollectionsApi : ICollectionsApiSync, ICollectionsApiAsync
+ {
+
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public partial class CollectionsApi : IDisposable, ICollectionsApi
+ {
+ private Immutable.Api.ZkEvm.Client.ExceptionFactory _exceptionFactory = (name, response) => null;
+
+ ///
+ /// Initializes a new instance of the class.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ ///
+ public CollectionsApi() : this((string)null)
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ /// The target service's base path in URL format.
+ ///
+ ///
+ public CollectionsApi(string basePath)
+ {
+ this.Configuration = Immutable.Api.ZkEvm.Client.Configuration.MergeConfigurations(
+ Immutable.Api.ZkEvm.Client.GlobalConfiguration.Instance,
+ new Immutable.Api.ZkEvm.Client.Configuration { BasePath = basePath }
+ );
+ this.ApiClient = new Immutable.Api.ZkEvm.Client.ApiClient(this.Configuration.BasePath);
+ this.Client = this.ApiClient;
+ this.AsynchronousClient = this.ApiClient;
+ this.ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class using Configuration object.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ /// An instance of Configuration.
+ ///
+ ///
+ public CollectionsApi(Immutable.Api.ZkEvm.Client.Configuration configuration)
+ {
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ this.Configuration = Immutable.Api.ZkEvm.Client.Configuration.MergeConfigurations(
+ Immutable.Api.ZkEvm.Client.GlobalConfiguration.Instance,
+ configuration
+ );
+ this.ApiClient = new Immutable.Api.ZkEvm.Client.ApiClient(this.Configuration.BasePath);
+ this.Client = this.ApiClient;
+ this.AsynchronousClient = this.ApiClient;
+ ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class
+ /// using a Configuration object and client instance.
+ ///
+ /// The client interface for synchronous API access.
+ /// The client interface for asynchronous API access.
+ /// The configuration object.
+ ///
+ public CollectionsApi(Immutable.Api.ZkEvm.Client.ISynchronousClient client, Immutable.Api.ZkEvm.Client.IAsynchronousClient asyncClient, Immutable.Api.ZkEvm.Client.IReadableConfiguration configuration)
+ {
+ if (client == null) throw new ArgumentNullException("client");
+ if (asyncClient == null) throw new ArgumentNullException("asyncClient");
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ this.Client = client;
+ this.AsynchronousClient = asyncClient;
+ this.Configuration = configuration;
+ this.ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Disposes resources if they were created by us
+ ///
+ public void Dispose()
+ {
+ this.ApiClient?.Dispose();
+ }
+
+ ///
+ /// Holds the ApiClient if created
+ ///
+ public Immutable.Api.ZkEvm.Client.ApiClient ApiClient { get; set; } = null;
+
+ ///
+ /// The client for accessing this underlying API asynchronously.
+ ///
+ public Immutable.Api.ZkEvm.Client.IAsynchronousClient AsynchronousClient { get; set; }
+
+ ///
+ /// The client for accessing this underlying API synchronously.
+ ///
+ public Immutable.Api.ZkEvm.Client.ISynchronousClient Client { get; set; }
+
+ ///
+ /// Gets the base path of the API client.
+ ///
+ /// The base path
+ public string GetBasePath()
+ {
+ return this.Configuration.BasePath;
+ }
+
+ ///
+ /// Gets or sets the configuration object
+ ///
+ /// An instance of the Configuration
+ public Immutable.Api.ZkEvm.Client.IReadableConfiguration Configuration { get; set; }
+
+ ///
+ /// Provides a factory method hook for the creation of exceptions.
+ ///
+ public Immutable.Api.ZkEvm.Client.ExceptionFactory ExceptionFactory
+ {
+ get
+ {
+ if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1)
+ {
+ throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported.");
+ }
+ return _exceptionFactory;
+ }
+ set { _exceptionFactory = value; }
+ }
+
+ ///
+ /// Get collection by contract address Get collection by contract address
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// GetCollectionResult
+ public GetCollectionResult GetCollection(string contractAddress, string chainName)
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = GetCollectionWithHttpInfo(contractAddress, chainName);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Get collection by contract address Get collection by contract address
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// ApiResponse of GetCollectionResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse GetCollectionWithHttpInfo(string contractAddress, string chainName)
+ {
+ // verify the required parameter 'contractAddress' is set
+ if (contractAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'contractAddress' when calling CollectionsApi->GetCollection");
+
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling CollectionsApi->GetCollection");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("contract_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(contractAddress)); // path parameter
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Get("/v1/chains/{chain_name}/collections/{contract_address}", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("GetCollection", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Get collection by contract address Get collection by contract address
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// Cancellation Token to cancel the request.
+ /// Task of GetCollectionResult
+ public async System.Threading.Tasks.Task GetCollectionAsync(string contractAddress, string chainName, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = GetCollectionWithHttpInfoAsync(contractAddress, chainName, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Get collection by contract address Get collection by contract address
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (GetCollectionResult)
+ public async System.Threading.Tasks.Task> GetCollectionWithHttpInfoAsync(string contractAddress, string chainName, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'contractAddress' is set
+ if (contractAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'contractAddress' when calling CollectionsApi->GetCollection");
+
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling CollectionsApi->GetCollection");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("contract_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(contractAddress)); // path parameter
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.GetAsync("/v1/chains/{chain_name}/collections/{contract_address}", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("GetCollection", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// List all collections List all collections
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// List of contract addresses to filter by (optional)
+ /// List of verification status to filter by (optional)
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListCollectionsResult
+ public ListCollectionsResult ListCollections(string chainName, List? contractAddress = default(List?), List? verificationStatus = default(List?), DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = ListCollectionsWithHttpInfo(chainName, contractAddress, verificationStatus, fromUpdatedAt, pageCursor, pageSize);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// List all collections List all collections
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// List of contract addresses to filter by (optional)
+ /// List of verification status to filter by (optional)
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListCollectionsResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse ListCollectionsWithHttpInfo(string chainName, List? contractAddress = default(List?), List? verificationStatus = default(List?), DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling CollectionsApi->ListCollections");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ if (contractAddress != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("multi", "contract_address", contractAddress));
+ }
+ if (verificationStatus != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("multi", "verification_status", verificationStatus));
+ }
+ if (fromUpdatedAt != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "from_updated_at", fromUpdatedAt));
+ }
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Get("/v1/chains/{chain_name}/collections", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListCollections", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// List all collections List all collections
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// List of contract addresses to filter by (optional)
+ /// List of verification status to filter by (optional)
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListCollectionsResult
+ public async System.Threading.Tasks.Task ListCollectionsAsync(string chainName, List? contractAddress = default(List?), List? verificationStatus = default(List?), DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = ListCollectionsWithHttpInfoAsync(chainName, contractAddress, verificationStatus, fromUpdatedAt, pageCursor, pageSize, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// List all collections List all collections
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// List of contract addresses to filter by (optional)
+ /// List of verification status to filter by (optional)
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListCollectionsResult)
+ public async System.Threading.Tasks.Task> ListCollectionsWithHttpInfoAsync(string chainName, List? contractAddress = default(List?), List? verificationStatus = default(List?), DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling CollectionsApi->ListCollections");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ if (contractAddress != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("multi", "contract_address", contractAddress));
+ }
+ if (verificationStatus != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("multi", "verification_status", verificationStatus));
+ }
+ if (fromUpdatedAt != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "from_updated_at", fromUpdatedAt));
+ }
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.GetAsync("/v1/chains/{chain_name}/collections", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListCollections", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// List collections by NFT owner List collections by NFT owner account address
+ ///
+ /// Thrown when fails to make API call
+ /// Account address
+ /// The name of chain
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListCollectionsResult
+ public ListCollectionsResult ListCollectionsByNFTOwner(string accountAddress, string chainName, string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = ListCollectionsByNFTOwnerWithHttpInfo(accountAddress, chainName, pageCursor, pageSize);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// List collections by NFT owner List collections by NFT owner account address
+ ///
+ /// Thrown when fails to make API call
+ /// Account address
+ /// The name of chain
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListCollectionsResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse ListCollectionsByNFTOwnerWithHttpInfo(string accountAddress, string chainName, string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ // verify the required parameter 'accountAddress' is set
+ if (accountAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'accountAddress' when calling CollectionsApi->ListCollectionsByNFTOwner");
+
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling CollectionsApi->ListCollectionsByNFTOwner");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("account_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(accountAddress)); // path parameter
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Get("/v1/chains/{chain_name}/accounts/{account_address}/collections", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListCollectionsByNFTOwner", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// List collections by NFT owner List collections by NFT owner account address
+ ///
+ /// Thrown when fails to make API call
+ /// Account address
+ /// The name of chain
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListCollectionsResult
+ public async System.Threading.Tasks.Task ListCollectionsByNFTOwnerAsync(string accountAddress, string chainName, string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = ListCollectionsByNFTOwnerWithHttpInfoAsync(accountAddress, chainName, pageCursor, pageSize, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// List collections by NFT owner List collections by NFT owner account address
+ ///
+ /// Thrown when fails to make API call
+ /// Account address
+ /// The name of chain
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListCollectionsResult)
+ public async System.Threading.Tasks.Task> ListCollectionsByNFTOwnerWithHttpInfoAsync(string accountAddress, string chainName, string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'accountAddress' is set
+ if (accountAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'accountAddress' when calling CollectionsApi->ListCollectionsByNFTOwner");
+
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling CollectionsApi->ListCollectionsByNFTOwner");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("account_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(accountAddress)); // path parameter
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.GetAsync("/v1/chains/{chain_name}/accounts/{account_address}/collections", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListCollectionsByNFTOwner", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Refresh collection metadata Refresh collection metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// The request body
+ /// RefreshCollectionMetadataResult
+ public RefreshCollectionMetadataResult RefreshCollectionMetadata(string contractAddress, string chainName, RefreshCollectionMetadataRequest refreshCollectionMetadataRequest)
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = RefreshCollectionMetadataWithHttpInfo(contractAddress, chainName, refreshCollectionMetadataRequest);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Refresh collection metadata Refresh collection metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// The request body
+ /// ApiResponse of RefreshCollectionMetadataResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse RefreshCollectionMetadataWithHttpInfo(string contractAddress, string chainName, RefreshCollectionMetadataRequest refreshCollectionMetadataRequest)
+ {
+ // verify the required parameter 'contractAddress' is set
+ if (contractAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'contractAddress' when calling CollectionsApi->RefreshCollectionMetadata");
+
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling CollectionsApi->RefreshCollectionMetadata");
+
+ // verify the required parameter 'refreshCollectionMetadataRequest' is set
+ if (refreshCollectionMetadataRequest == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'refreshCollectionMetadataRequest' when calling CollectionsApi->RefreshCollectionMetadata");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ "application/json"
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("contract_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(contractAddress)); // path parameter
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.Data = refreshCollectionMetadataRequest;
+
+ // authentication (ImmutableApiKey) required
+ if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("x-immutable-api-key")))
+ {
+ localVarRequestOptions.HeaderParameters.Add("x-immutable-api-key", this.Configuration.GetApiKeyWithPrefix("x-immutable-api-key"));
+ }
+ // authentication (BearerAuth) required
+ // bearer authentication required
+ if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
+ {
+ localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
+ }
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Post("/v1/chains/{chain_name}/collections/{contract_address}/refresh-metadata", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("RefreshCollectionMetadata", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Refresh collection metadata Refresh collection metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// The request body
+ /// Cancellation Token to cancel the request.
+ /// Task of RefreshCollectionMetadataResult
+ public async System.Threading.Tasks.Task RefreshCollectionMetadataAsync(string contractAddress, string chainName, RefreshCollectionMetadataRequest refreshCollectionMetadataRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = RefreshCollectionMetadataWithHttpInfoAsync(contractAddress, chainName, refreshCollectionMetadataRequest, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Refresh collection metadata Refresh collection metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address contract
+ /// The name of chain
+ /// The request body
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (RefreshCollectionMetadataResult)
+ public async System.Threading.Tasks.Task> RefreshCollectionMetadataWithHttpInfoAsync(string contractAddress, string chainName, RefreshCollectionMetadataRequest refreshCollectionMetadataRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'contractAddress' is set
+ if (contractAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'contractAddress' when calling CollectionsApi->RefreshCollectionMetadata");
+
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling CollectionsApi->RefreshCollectionMetadata");
+
+ // verify the required parameter 'refreshCollectionMetadataRequest' is set
+ if (refreshCollectionMetadataRequest == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'refreshCollectionMetadataRequest' when calling CollectionsApi->RefreshCollectionMetadata");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ "application/json"
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("contract_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(contractAddress)); // path parameter
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.Data = refreshCollectionMetadataRequest;
+
+ // authentication (ImmutableApiKey) required
+ if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("x-immutable-api-key")))
+ {
+ localVarRequestOptions.HeaderParameters.Add("x-immutable-api-key", this.Configuration.GetApiKeyWithPrefix("x-immutable-api-key"));
+ }
+ // authentication (BearerAuth) required
+ // bearer authentication required
+ if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization"))
+ {
+ localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken);
+ }
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.PostAsync("/v1/chains/{chain_name}/collections/{contract_address}/refresh-metadata", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("RefreshCollectionMetadata", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ }
+}
diff --git a/src/Packages/ZkEvmApi/Runtime/Api/CollectionsApi.cs.meta b/src/Packages/ZkEvmApi/Runtime/Api/CollectionsApi.cs.meta
new file mode 100644
index 00000000..0dd98a9e
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Api/CollectionsApi.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2206d04b9912045c982183572c133f1d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Runtime/Api/CraftingApi.cs b/src/Packages/ZkEvmApi/Runtime/Api/CraftingApi.cs
new file mode 100644
index 00000000..2d1d45a7
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Api/CraftingApi.cs
@@ -0,0 +1,384 @@
+/*
+ * Immutable zkEVM API
+ *
+ * Immutable Multi Rollup API
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@immutable.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Net;
+using System.Net.Mime;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Immutable.Api.ZkEvm.Api
+{
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface ICraftingApiSync : IApiAccessor
+ {
+ #region Synchronous Operations
+ ///
+ /// Sign a crafting payload
+ ///
+ ///
+ /// Sign a crafting payload
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The request body
+ /// SignCraftingResult
+ SignCraftingResult SignCraftingPayload(string chainName, SignCraftingRequest signCraftingRequest);
+
+ ///
+ /// Sign a crafting payload
+ ///
+ ///
+ /// Sign a crafting payload
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The request body
+ /// ApiResponse of SignCraftingResult
+ ApiResponse SignCraftingPayloadWithHttpInfo(string chainName, SignCraftingRequest signCraftingRequest);
+ #endregion Synchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface ICraftingApiAsync : IApiAccessor
+ {
+ #region Asynchronous Operations
+ ///
+ /// Sign a crafting payload
+ ///
+ ///
+ /// Sign a crafting payload
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The request body
+ /// Cancellation Token to cancel the request.
+ /// Task of SignCraftingResult
+ System.Threading.Tasks.Task SignCraftingPayloadAsync(string chainName, SignCraftingRequest signCraftingRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Sign a crafting payload
+ ///
+ ///
+ /// Sign a crafting payload
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The request body
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (SignCraftingResult)
+ System.Threading.Tasks.Task> SignCraftingPayloadWithHttpInfoAsync(string chainName, SignCraftingRequest signCraftingRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ #endregion Asynchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface ICraftingApi : ICraftingApiSync, ICraftingApiAsync
+ {
+
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public partial class CraftingApi : IDisposable, ICraftingApi
+ {
+ private Immutable.Api.ZkEvm.Client.ExceptionFactory _exceptionFactory = (name, response) => null;
+
+ ///
+ /// Initializes a new instance of the class.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ ///
+ public CraftingApi() : this((string)null)
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ /// The target service's base path in URL format.
+ ///
+ ///
+ public CraftingApi(string basePath)
+ {
+ this.Configuration = Immutable.Api.ZkEvm.Client.Configuration.MergeConfigurations(
+ Immutable.Api.ZkEvm.Client.GlobalConfiguration.Instance,
+ new Immutable.Api.ZkEvm.Client.Configuration { BasePath = basePath }
+ );
+ this.ApiClient = new Immutable.Api.ZkEvm.Client.ApiClient(this.Configuration.BasePath);
+ this.Client = this.ApiClient;
+ this.AsynchronousClient = this.ApiClient;
+ this.ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class using Configuration object.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ /// An instance of Configuration.
+ ///
+ ///
+ public CraftingApi(Immutable.Api.ZkEvm.Client.Configuration configuration)
+ {
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ this.Configuration = Immutable.Api.ZkEvm.Client.Configuration.MergeConfigurations(
+ Immutable.Api.ZkEvm.Client.GlobalConfiguration.Instance,
+ configuration
+ );
+ this.ApiClient = new Immutable.Api.ZkEvm.Client.ApiClient(this.Configuration.BasePath);
+ this.Client = this.ApiClient;
+ this.AsynchronousClient = this.ApiClient;
+ ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class
+ /// using a Configuration object and client instance.
+ ///
+ /// The client interface for synchronous API access.
+ /// The client interface for asynchronous API access.
+ /// The configuration object.
+ ///
+ public CraftingApi(Immutable.Api.ZkEvm.Client.ISynchronousClient client, Immutable.Api.ZkEvm.Client.IAsynchronousClient asyncClient, Immutable.Api.ZkEvm.Client.IReadableConfiguration configuration)
+ {
+ if (client == null) throw new ArgumentNullException("client");
+ if (asyncClient == null) throw new ArgumentNullException("asyncClient");
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ this.Client = client;
+ this.AsynchronousClient = asyncClient;
+ this.Configuration = configuration;
+ this.ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Disposes resources if they were created by us
+ ///
+ public void Dispose()
+ {
+ this.ApiClient?.Dispose();
+ }
+
+ ///
+ /// Holds the ApiClient if created
+ ///
+ public Immutable.Api.ZkEvm.Client.ApiClient ApiClient { get; set; } = null;
+
+ ///
+ /// The client for accessing this underlying API asynchronously.
+ ///
+ public Immutable.Api.ZkEvm.Client.IAsynchronousClient AsynchronousClient { get; set; }
+
+ ///
+ /// The client for accessing this underlying API synchronously.
+ ///
+ public Immutable.Api.ZkEvm.Client.ISynchronousClient Client { get; set; }
+
+ ///
+ /// Gets the base path of the API client.
+ ///
+ /// The base path
+ public string GetBasePath()
+ {
+ return this.Configuration.BasePath;
+ }
+
+ ///
+ /// Gets or sets the configuration object
+ ///
+ /// An instance of the Configuration
+ public Immutable.Api.ZkEvm.Client.IReadableConfiguration Configuration { get; set; }
+
+ ///
+ /// Provides a factory method hook for the creation of exceptions.
+ ///
+ public Immutable.Api.ZkEvm.Client.ExceptionFactory ExceptionFactory
+ {
+ get
+ {
+ if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1)
+ {
+ throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported.");
+ }
+ return _exceptionFactory;
+ }
+ set { _exceptionFactory = value; }
+ }
+
+ ///
+ /// Sign a crafting payload Sign a crafting payload
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The request body
+ /// SignCraftingResult
+ public SignCraftingResult SignCraftingPayload(string chainName, SignCraftingRequest signCraftingRequest)
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = SignCraftingPayloadWithHttpInfo(chainName, signCraftingRequest);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Sign a crafting payload Sign a crafting payload
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The request body
+ /// ApiResponse of SignCraftingResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse SignCraftingPayloadWithHttpInfo(string chainName, SignCraftingRequest signCraftingRequest)
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling CraftingApi->SignCraftingPayload");
+
+ // verify the required parameter 'signCraftingRequest' is set
+ if (signCraftingRequest == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'signCraftingRequest' when calling CraftingApi->SignCraftingPayload");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ "application/json"
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.Data = signCraftingRequest;
+
+ // authentication (ImmutableApiKey) required
+ if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("x-immutable-api-key")))
+ {
+ localVarRequestOptions.HeaderParameters.Add("x-immutable-api-key", this.Configuration.GetApiKeyWithPrefix("x-immutable-api-key"));
+ }
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Post("/v1/chains/{chain_name}/crafting/sign", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("SignCraftingPayload", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Sign a crafting payload Sign a crafting payload
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The request body
+ /// Cancellation Token to cancel the request.
+ /// Task of SignCraftingResult
+ public async System.Threading.Tasks.Task SignCraftingPayloadAsync(string chainName, SignCraftingRequest signCraftingRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = SignCraftingPayloadWithHttpInfoAsync(chainName, signCraftingRequest, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Sign a crafting payload Sign a crafting payload
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The request body
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (SignCraftingResult)
+ public async System.Threading.Tasks.Task> SignCraftingPayloadWithHttpInfoAsync(string chainName, SignCraftingRequest signCraftingRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling CraftingApi->SignCraftingPayload");
+
+ // verify the required parameter 'signCraftingRequest' is set
+ if (signCraftingRequest == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'signCraftingRequest' when calling CraftingApi->SignCraftingPayload");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ "application/json"
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.Data = signCraftingRequest;
+
+ // authentication (ImmutableApiKey) required
+ if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("x-immutable-api-key")))
+ {
+ localVarRequestOptions.HeaderParameters.Add("x-immutable-api-key", this.Configuration.GetApiKeyWithPrefix("x-immutable-api-key"));
+ }
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.PostAsync("/v1/chains/{chain_name}/crafting/sign", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("SignCraftingPayload", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ }
+}
diff --git a/src/Packages/ZkEvmApi/Runtime/Api/CraftingApi.cs.meta b/src/Packages/ZkEvmApi/Runtime/Api/CraftingApi.cs.meta
new file mode 100644
index 00000000..6276c361
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Api/CraftingApi.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5d29311b889394e54956996fbf4bed5a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/src/Packages/ZkEvmApi/Runtime/Api/MetadataApi.cs b/src/Packages/ZkEvmApi/Runtime/Api/MetadataApi.cs
new file mode 100644
index 00000000..2dbaa6a9
--- /dev/null
+++ b/src/Packages/ZkEvmApi/Runtime/Api/MetadataApi.cs
@@ -0,0 +1,1272 @@
+/*
+ * Immutable zkEVM API
+ *
+ * Immutable Multi Rollup API
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: support@immutable.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Net;
+using System.Net.Mime;
+using Immutable.Api.ZkEvm.Client;
+using Immutable.Api.ZkEvm.Model;
+
+namespace Immutable.Api.ZkEvm.Api
+{
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IMetadataApiSync : IApiAccessor
+ {
+ #region Synchronous Operations
+ ///
+ /// Get metadata by ID
+ ///
+ ///
+ /// Get metadata by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// The id of the metadata
+ /// GetMetadataResult
+ GetMetadataResult GetMetadata(string chainName, string contractAddress, Guid metadataId);
+
+ ///
+ /// Get metadata by ID
+ ///
+ ///
+ /// Get metadata by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// The id of the metadata
+ /// ApiResponse of GetMetadataResult
+ ApiResponse GetMetadataWithHttpInfo(string chainName, string contractAddress, Guid metadataId);
+ ///
+ /// Get a list of metadata from the given contract
+ ///
+ ///
+ /// Get a list of metadata from the given contract
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListMetadataResult
+ ListMetadataResult ListMetadata(string chainName, string contractAddress, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?));
+
+ ///
+ /// Get a list of metadata from the given contract
+ ///
+ ///
+ /// Get a list of metadata from the given contract
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListMetadataResult
+ ApiResponse ListMetadataWithHttpInfo(string chainName, string contractAddress, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?));
+ ///
+ /// Get a list of metadata from the given chain
+ ///
+ ///
+ /// Get a list of metadata from the given chain
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListMetadataResult
+ ListMetadataResult ListMetadataForChain(string chainName, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?));
+
+ ///
+ /// Get a list of metadata from the given chain
+ ///
+ ///
+ /// Get a list of metadata from the given chain
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListMetadataResult
+ ApiResponse ListMetadataForChainWithHttpInfo(string chainName, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?));
+ ///
+ /// Refresh stacked metadata
+ ///
+ ///
+ /// Refresh stacked metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Contract address
+ /// NFT Metadata Refresh Request
+ /// MetadataRefreshRateLimitResult
+ MetadataRefreshRateLimitResult RefreshMetadataByID(string chainName, string contractAddress, RefreshMetadataByIDRequest refreshMetadataByIDRequest);
+
+ ///
+ /// Refresh stacked metadata
+ ///
+ ///
+ /// Refresh stacked metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Contract address
+ /// NFT Metadata Refresh Request
+ /// ApiResponse of MetadataRefreshRateLimitResult
+ ApiResponse RefreshMetadataByIDWithHttpInfo(string chainName, string contractAddress, RefreshMetadataByIDRequest refreshMetadataByIDRequest);
+ ///
+ /// Refresh NFT metadata
+ ///
+ ///
+ /// Refresh NFT metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address of contract
+ /// The name of chain
+ /// the request body
+ /// MetadataRefreshRateLimitResult
+ MetadataRefreshRateLimitResult RefreshNFTMetadataByTokenID(string contractAddress, string chainName, RefreshNFTMetadataByTokenIDRequest refreshNFTMetadataByTokenIDRequest);
+
+ ///
+ /// Refresh NFT metadata
+ ///
+ ///
+ /// Refresh NFT metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address of contract
+ /// The name of chain
+ /// the request body
+ /// ApiResponse of MetadataRefreshRateLimitResult
+ ApiResponse RefreshNFTMetadataByTokenIDWithHttpInfo(string contractAddress, string chainName, RefreshNFTMetadataByTokenIDRequest refreshNFTMetadataByTokenIDRequest);
+ #endregion Synchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IMetadataApiAsync : IApiAccessor
+ {
+ #region Asynchronous Operations
+ ///
+ /// Get metadata by ID
+ ///
+ ///
+ /// Get metadata by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// The id of the metadata
+ /// Cancellation Token to cancel the request.
+ /// Task of GetMetadataResult
+ System.Threading.Tasks.Task GetMetadataAsync(string chainName, string contractAddress, Guid metadataId, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Get metadata by ID
+ ///
+ ///
+ /// Get metadata by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// The id of the metadata
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (GetMetadataResult)
+ System.Threading.Tasks.Task> GetMetadataWithHttpInfoAsync(string chainName, string contractAddress, Guid metadataId, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ ///
+ /// Get a list of metadata from the given contract
+ ///
+ ///
+ /// Get a list of metadata from the given contract
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListMetadataResult
+ System.Threading.Tasks.Task ListMetadataAsync(string chainName, string contractAddress, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Get a list of metadata from the given contract
+ ///
+ ///
+ /// Get a list of metadata from the given contract
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListMetadataResult)
+ System.Threading.Tasks.Task> ListMetadataWithHttpInfoAsync(string chainName, string contractAddress, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ ///
+ /// Get a list of metadata from the given chain
+ ///
+ ///
+ /// Get a list of metadata from the given chain
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListMetadataResult
+ System.Threading.Tasks.Task ListMetadataForChainAsync(string chainName, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Get a list of metadata from the given chain
+ ///
+ ///
+ /// Get a list of metadata from the given chain
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListMetadataResult)
+ System.Threading.Tasks.Task> ListMetadataForChainWithHttpInfoAsync(string chainName, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ ///
+ /// Refresh stacked metadata
+ ///
+ ///
+ /// Refresh stacked metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Contract address
+ /// NFT Metadata Refresh Request
+ /// Cancellation Token to cancel the request.
+ /// Task of MetadataRefreshRateLimitResult
+ System.Threading.Tasks.Task RefreshMetadataByIDAsync(string chainName, string contractAddress, RefreshMetadataByIDRequest refreshMetadataByIDRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Refresh stacked metadata
+ ///
+ ///
+ /// Refresh stacked metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Contract address
+ /// NFT Metadata Refresh Request
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (MetadataRefreshRateLimitResult)
+ System.Threading.Tasks.Task> RefreshMetadataByIDWithHttpInfoAsync(string chainName, string contractAddress, RefreshMetadataByIDRequest refreshMetadataByIDRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ ///
+ /// Refresh NFT metadata
+ ///
+ ///
+ /// Refresh NFT metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address of contract
+ /// The name of chain
+ /// the request body
+ /// Cancellation Token to cancel the request.
+ /// Task of MetadataRefreshRateLimitResult
+ System.Threading.Tasks.Task RefreshNFTMetadataByTokenIDAsync(string contractAddress, string chainName, RefreshNFTMetadataByTokenIDRequest refreshNFTMetadataByTokenIDRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+
+ ///
+ /// Refresh NFT metadata
+ ///
+ ///
+ /// Refresh NFT metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The address of contract
+ /// The name of chain
+ /// the request body
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (MetadataRefreshRateLimitResult)
+ System.Threading.Tasks.Task> RefreshNFTMetadataByTokenIDWithHttpInfoAsync(string contractAddress, string chainName, RefreshNFTMetadataByTokenIDRequest refreshNFTMetadataByTokenIDRequest, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
+ #endregion Asynchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IMetadataApi : IMetadataApiSync, IMetadataApiAsync
+ {
+
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public partial class MetadataApi : IDisposable, IMetadataApi
+ {
+ private Immutable.Api.ZkEvm.Client.ExceptionFactory _exceptionFactory = (name, response) => null;
+
+ ///
+ /// Initializes a new instance of the class.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ ///
+ public MetadataApi() : this((string)null)
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ /// The target service's base path in URL format.
+ ///
+ ///
+ public MetadataApi(string basePath)
+ {
+ this.Configuration = Immutable.Api.ZkEvm.Client.Configuration.MergeConfigurations(
+ Immutable.Api.ZkEvm.Client.GlobalConfiguration.Instance,
+ new Immutable.Api.ZkEvm.Client.Configuration { BasePath = basePath }
+ );
+ this.ApiClient = new Immutable.Api.ZkEvm.Client.ApiClient(this.Configuration.BasePath);
+ this.Client = this.ApiClient;
+ this.AsynchronousClient = this.ApiClient;
+ this.ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class using Configuration object.
+ /// **IMPORTANT** This will also create an instance of HttpClient, which is less than ideal.
+ /// It's better to reuse the HttpClient and HttpClientHandler.
+ ///
+ /// An instance of Configuration.
+ ///
+ ///
+ public MetadataApi(Immutable.Api.ZkEvm.Client.Configuration configuration)
+ {
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ this.Configuration = Immutable.Api.ZkEvm.Client.Configuration.MergeConfigurations(
+ Immutable.Api.ZkEvm.Client.GlobalConfiguration.Instance,
+ configuration
+ );
+ this.ApiClient = new Immutable.Api.ZkEvm.Client.ApiClient(this.Configuration.BasePath);
+ this.Client = this.ApiClient;
+ this.AsynchronousClient = this.ApiClient;
+ ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Initializes a new instance of the class
+ /// using a Configuration object and client instance.
+ ///
+ /// The client interface for synchronous API access.
+ /// The client interface for asynchronous API access.
+ /// The configuration object.
+ ///
+ public MetadataApi(Immutable.Api.ZkEvm.Client.ISynchronousClient client, Immutable.Api.ZkEvm.Client.IAsynchronousClient asyncClient, Immutable.Api.ZkEvm.Client.IReadableConfiguration configuration)
+ {
+ if (client == null) throw new ArgumentNullException("client");
+ if (asyncClient == null) throw new ArgumentNullException("asyncClient");
+ if (configuration == null) throw new ArgumentNullException("configuration");
+
+ this.Client = client;
+ this.AsynchronousClient = asyncClient;
+ this.Configuration = configuration;
+ this.ExceptionFactory = Immutable.Api.ZkEvm.Client.Configuration.DefaultExceptionFactory;
+ }
+
+ ///
+ /// Disposes resources if they were created by us
+ ///
+ public void Dispose()
+ {
+ this.ApiClient?.Dispose();
+ }
+
+ ///
+ /// Holds the ApiClient if created
+ ///
+ public Immutable.Api.ZkEvm.Client.ApiClient ApiClient { get; set; } = null;
+
+ ///
+ /// The client for accessing this underlying API asynchronously.
+ ///
+ public Immutable.Api.ZkEvm.Client.IAsynchronousClient AsynchronousClient { get; set; }
+
+ ///
+ /// The client for accessing this underlying API synchronously.
+ ///
+ public Immutable.Api.ZkEvm.Client.ISynchronousClient Client { get; set; }
+
+ ///
+ /// Gets the base path of the API client.
+ ///
+ /// The base path
+ public string GetBasePath()
+ {
+ return this.Configuration.BasePath;
+ }
+
+ ///
+ /// Gets or sets the configuration object
+ ///
+ /// An instance of the Configuration
+ public Immutable.Api.ZkEvm.Client.IReadableConfiguration Configuration { get; set; }
+
+ ///
+ /// Provides a factory method hook for the creation of exceptions.
+ ///
+ public Immutable.Api.ZkEvm.Client.ExceptionFactory ExceptionFactory
+ {
+ get
+ {
+ if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1)
+ {
+ throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported.");
+ }
+ return _exceptionFactory;
+ }
+ set { _exceptionFactory = value; }
+ }
+
+ ///
+ /// Get metadata by ID Get metadata by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// The id of the metadata
+ /// GetMetadataResult
+ public GetMetadataResult GetMetadata(string chainName, string contractAddress, Guid metadataId)
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = GetMetadataWithHttpInfo(chainName, contractAddress, metadataId);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Get metadata by ID Get metadata by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// The id of the metadata
+ /// ApiResponse of GetMetadataResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse GetMetadataWithHttpInfo(string chainName, string contractAddress, Guid metadataId)
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling MetadataApi->GetMetadata");
+
+ // verify the required parameter 'contractAddress' is set
+ if (contractAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'contractAddress' when calling MetadataApi->GetMetadata");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.PathParameters.Add("contract_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(contractAddress)); // path parameter
+ localVarRequestOptions.PathParameters.Add("metadata_id", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(metadataId)); // path parameter
+
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Get("/v1/chains/{chain_name}/collections/{contract_address}/metadata/{metadata_id}", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("GetMetadata", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Get metadata by ID Get metadata by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// The id of the metadata
+ /// Cancellation Token to cancel the request.
+ /// Task of GetMetadataResult
+ public async System.Threading.Tasks.Task GetMetadataAsync(string chainName, string contractAddress, Guid metadataId, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = GetMetadataWithHttpInfoAsync(chainName, contractAddress, metadataId, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Get metadata by ID Get metadata by ID
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// The id of the metadata
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (GetMetadataResult)
+ public async System.Threading.Tasks.Task> GetMetadataWithHttpInfoAsync(string chainName, string contractAddress, Guid metadataId, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling MetadataApi->GetMetadata");
+
+ // verify the required parameter 'contractAddress' is set
+ if (contractAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'contractAddress' when calling MetadataApi->GetMetadata");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.PathParameters.Add("contract_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(contractAddress)); // path parameter
+ localVarRequestOptions.PathParameters.Add("metadata_id", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(metadataId)); // path parameter
+
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.GetAsync("/v1/chains/{chain_name}/collections/{contract_address}/metadata/{metadata_id}", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("GetMetadata", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Get a list of metadata from the given contract Get a list of metadata from the given contract
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListMetadataResult
+ public ListMetadataResult ListMetadata(string chainName, string contractAddress, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = ListMetadataWithHttpInfo(chainName, contractAddress, fromUpdatedAt, pageCursor, pageSize);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Get a list of metadata from the given contract Get a list of metadata from the given contract
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListMetadataResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse ListMetadataWithHttpInfo(string chainName, string contractAddress, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling MetadataApi->ListMetadata");
+
+ // verify the required parameter 'contractAddress' is set
+ if (contractAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'contractAddress' when calling MetadataApi->ListMetadata");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.PathParameters.Add("contract_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(contractAddress)); // path parameter
+ if (fromUpdatedAt != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "from_updated_at", fromUpdatedAt));
+ }
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Get("/v1/chains/{chain_name}/collections/{contract_address}/metadata", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListMetadata", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Get a list of metadata from the given contract Get a list of metadata from the given contract
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListMetadataResult
+ public async System.Threading.Tasks.Task ListMetadataAsync(string chainName, string contractAddress, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = ListMetadataWithHttpInfoAsync(chainName, contractAddress, fromUpdatedAt, pageCursor, pageSize, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Get a list of metadata from the given contract Get a list of metadata from the given contract
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// The address of metadata contract
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListMetadataResult)
+ public async System.Threading.Tasks.Task> ListMetadataWithHttpInfoAsync(string chainName, string contractAddress, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling MetadataApi->ListMetadata");
+
+ // verify the required parameter 'contractAddress' is set
+ if (contractAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'contractAddress' when calling MetadataApi->ListMetadata");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.PathParameters.Add("contract_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(contractAddress)); // path parameter
+ if (fromUpdatedAt != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "from_updated_at", fromUpdatedAt));
+ }
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.GetAsync("/v1/chains/{chain_name}/collections/{contract_address}/metadata", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListMetadata", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Get a list of metadata from the given chain Get a list of metadata from the given chain
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ListMetadataResult
+ public ListMetadataResult ListMetadataForChain(string chainName, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = ListMetadataForChainWithHttpInfo(chainName, fromUpdatedAt, pageCursor, pageSize);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Get a list of metadata from the given chain Get a list of metadata from the given chain
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// ApiResponse of ListMetadataResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse ListMetadataForChainWithHttpInfo(string chainName, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling MetadataApi->ListMetadataForChain");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ if (fromUpdatedAt != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "from_updated_at", fromUpdatedAt));
+ }
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Get("/v1/chains/{chain_name}/metadata", localVarRequestOptions, this.Configuration);
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListMetadataForChain", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Get a list of metadata from the given chain Get a list of metadata from the given chain
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ListMetadataResult
+ public async System.Threading.Tasks.Task ListMetadataForChainAsync(string chainName, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ var task = ListMetadataForChainWithHttpInfoAsync(chainName, fromUpdatedAt, pageCursor, pageSize, cancellationToken);
+#if UNITY_EDITOR || !UNITY_WEBGL
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task.ConfigureAwait(false);
+#else
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = await task;
+#endif
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Get a list of metadata from the given chain Get a list of metadata from the given chain
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Datetime to use as the oldest updated timestamp (optional)
+ /// Encoded page cursor to retrieve previous or next page. Use the value returned in the response. (optional)
+ /// Maximum number of items to return (optional, default to 100)
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (ListMetadataResult)
+ public async System.Threading.Tasks.Task> ListMetadataForChainWithHttpInfoAsync(string chainName, DateTime? fromUpdatedAt = default(DateTime?), string? pageCursor = default(string?), int? pageSize = default(int?), System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling MetadataApi->ListMetadataForChain");
+
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ if (fromUpdatedAt != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "from_updated_at", fromUpdatedAt));
+ }
+ if (pageCursor != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_cursor", pageCursor));
+ }
+ if (pageSize != null)
+ {
+ localVarRequestOptions.QueryParameters.Add(Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToMultiMap("", "page_size", pageSize));
+ }
+
+
+ // make the HTTP request
+
+ var task = this.AsynchronousClient.GetAsync("/v1/chains/{chain_name}/metadata", localVarRequestOptions, this.Configuration, cancellationToken);
+
+#if UNITY_EDITOR || !UNITY_WEBGL
+ var localVarResponse = await task.ConfigureAwait(false);
+#else
+ var localVarResponse = await task;
+#endif
+
+ if (this.ExceptionFactory != null)
+ {
+ Exception _exception = this.ExceptionFactory("ListMetadataForChain", localVarResponse);
+ if (_exception != null) throw _exception;
+ }
+
+ return localVarResponse;
+ }
+
+ ///
+ /// Refresh stacked metadata Refresh stacked metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Contract address
+ /// NFT Metadata Refresh Request
+ /// MetadataRefreshRateLimitResult
+ public MetadataRefreshRateLimitResult RefreshMetadataByID(string chainName, string contractAddress, RefreshMetadataByIDRequest refreshMetadataByIDRequest)
+ {
+ Immutable.Api.ZkEvm.Client.ApiResponse localVarResponse = RefreshMetadataByIDWithHttpInfo(chainName, contractAddress, refreshMetadataByIDRequest);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// Refresh stacked metadata Refresh stacked metadata
+ ///
+ /// Thrown when fails to make API call
+ /// The name of chain
+ /// Contract address
+ /// NFT Metadata Refresh Request
+ /// ApiResponse of MetadataRefreshRateLimitResult
+ public Immutable.Api.ZkEvm.Client.ApiResponse RefreshMetadataByIDWithHttpInfo(string chainName, string contractAddress, RefreshMetadataByIDRequest refreshMetadataByIDRequest)
+ {
+ // verify the required parameter 'chainName' is set
+ if (chainName == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'chainName' when calling MetadataApi->RefreshMetadataByID");
+
+ // verify the required parameter 'contractAddress' is set
+ if (contractAddress == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'contractAddress' when calling MetadataApi->RefreshMetadataByID");
+
+ // verify the required parameter 'refreshMetadataByIDRequest' is set
+ if (refreshMetadataByIDRequest == null)
+ throw new Immutable.Api.ZkEvm.Client.ApiException(400, "Missing required parameter 'refreshMetadataByIDRequest' when calling MetadataApi->RefreshMetadataByID");
+
+ Immutable.Api.ZkEvm.Client.RequestOptions localVarRequestOptions = new Immutable.Api.ZkEvm.Client.RequestOptions();
+
+ string[] _contentTypes = new string[] {
+ "application/json"
+ };
+
+ // to determine the Accept header
+ string[] _accepts = new string[] {
+ "application/json"
+ };
+
+ var localVarContentType = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderContentType(_contentTypes);
+ if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
+
+ var localVarAccept = Immutable.Api.ZkEvm.Client.ClientUtils.SelectHeaderAccept(_accepts);
+ if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
+
+ localVarRequestOptions.PathParameters.Add("chain_name", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(chainName)); // path parameter
+ localVarRequestOptions.PathParameters.Add("contract_address", Immutable.Api.ZkEvm.Client.ClientUtils.ParameterToString(contractAddress)); // path parameter
+ localVarRequestOptions.Data = refreshMetadataByIDRequest;
+
+ // authentication (ImmutableApiKey) required
+ if (!string.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("x-immutable-api-key")))
+ {
+ localVarRequestOptions.HeaderParameters.Add("x-immutable-api-key", this.Configuration.GetApiKeyWithPrefix("x-immutable-api-key"));
+ }
+
+ // make the HTTP request
+ var localVarResponse = this.Client.Post