# Class: CustomTypeClass\<T\>

Defined in: [packages/bitbadgesjs-sdk/src/common/base.ts:92](https://github.com/BitBadges/bitbadgesjs/blob/master/packages/bitbadgesjs-sdk/src/common/base.ts#L92)

Base class that implements the CustomType interface. It provides default implementations for all methods.
This is to be used when the class and all of its fields are of primitive types (i.e. no number types).

## Extended by

- [`AddressList`](https://docs.bitbadges.io/sdk/reference/classes/address-list)
- [`PredeterminedOrderCalculationMethod`](https://docs.bitbadges.io/sdk/reference/classes/predetermined-order-calculation-method)
- [`AddressChecks`](https://docs.bitbadges.io/sdk/reference/classes/address-checks)
- [`CollectionMetadata`](https://docs.bitbadges.io/sdk/reference/classes/collection-metadata)
- [`MerklePathItem`](https://docs.bitbadges.io/sdk/reference/classes/merkle-path-item)
- [`MerkleProof`](https://docs.bitbadges.io/sdk/reference/classes/merkle-proof)
- [`CosmosCoinWrapperPath`](https://docs.bitbadges.io/sdk/reference/classes/cosmos-coin-wrapper-path)
- [`AliasPath`](https://docs.bitbadges.io/sdk/reference/classes/alias-path)
- [`CosmosCoinBackedPath`](https://docs.bitbadges.io/sdk/reference/classes/cosmos-coin-backed-path)
- [`PoolInfoVolume`](https://docs.bitbadges.io/sdk/reference/classes/pool-info-volume)
- [`PoolInfo`](https://docs.bitbadges.io/sdk/reference/classes/pool-info)
- [`AssetInfoDoc`](https://docs.bitbadges.io/sdk/reference/classes/asset-info-doc)
- [`ETHSignatureChallenge`](https://docs.bitbadges.io/sdk/reference/classes/eth-signature-challenge)
- [`ETHSignatureProof`](https://docs.bitbadges.io/sdk/reference/classes/eth-signature-proof)
- [`PathMetadata`](https://docs.bitbadges.io/sdk/reference/classes/path-metadata)
- [`EmptyResponseClass`](https://docs.bitbadges.io/sdk/reference/classes/empty-response-class)
- [`ApiKeyDoc`](https://docs.bitbadges.io/sdk/reference/classes/api-key-doc)
- [`UtilityPageContent`](https://docs.bitbadges.io/sdk/reference/classes/utility-page-content)
- [`UtilityPageLink`](https://docs.bitbadges.io/sdk/reference/classes/utility-page-link)
- [`LinkedTo`](https://docs.bitbadges.io/sdk/reference/classes/linked-to)
- [`InheritMetadataFrom`](https://docs.bitbadges.io/sdk/reference/classes/inherit-metadata-from)
- [`EstimatedCost`](https://docs.bitbadges.io/sdk/reference/classes/estimated-cost)
- [`AccessTokenDoc`](https://docs.bitbadges.io/sdk/reference/classes/access-token-doc)
- [`GetStatusPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-status-payload)
- [`SearchClaimsPayload`](https://docs.bitbadges.io/sdk/reference/classes/search-claims-payload)
- [`GetClaimPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-claim-payload)
- [`CompleteClaimSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/complete-claim-success-response)
- [`GetClaimAttemptStatusSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-claim-attempt-status-success-response)
- [`GetClaimAttemptsPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-claim-attempts-payload)
- [`SimulateClaimSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/simulate-claim-success-response)
- [`GetReservedClaimCodesSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-reserved-claim-codes-success-response)
- [`UpdateAccountInfoSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/update-account-info-success-response)
- [`AddToIpfsSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/add-to-ipfs-success-response)
- [`AddApprovalDetailsToOffChainStorageSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/add-approval-details-to-off-chain-storage-success-response)
- [`GetSignInChallengePayload`](https://docs.bitbadges.io/sdk/reference/classes/get-sign-in-challenge-payload)
- [`VerifySignInSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/verify-sign-in-success-response)
- [`CheckSignInStatusSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/check-sign-in-status-success-response)
- [`GetBrowsePayload`](https://docs.bitbadges.io/sdk/reference/classes/get-browse-payload)
- [`BroadcastTxSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/broadcast-tx-success-response)
- [`SimulateTxSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/simulate-tx-success-response)
- [`GenericVerifyAssetsSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/generic-verify-assets-success-response)
- [`RotateSIWBBRequestSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/rotate-siwbb-request-success-response)
- [`CreateSIWBBRequestSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/create-siwbb-request-success-response)
- [`GetSIWBBRequestsForDeveloperAppPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-siwbb-requests-for-developer-app-payload)
- [`CreateDeveloperAppSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/create-developer-app-success-response)
- [`GetActiveAuthorizationsSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-active-authorizations-success-response)
- [`SearchDeveloperAppsPayload`](https://docs.bitbadges.io/sdk/reference/classes/search-developer-apps-payload)
- [`GetDeveloperAppsSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-developer-apps-success-response)
- [`UpdateDeveloperAppSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/update-developer-app-success-response)
- [`SearchPluginsPayload`](https://docs.bitbadges.io/sdk/reference/classes/search-plugins-payload)
- [`GetCreatorPluginsPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-creator-plugins-payload)
- [`GetPluginsPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-plugins-payload)
- [`GetGatedContentForClaimSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-gated-content-for-claim-success-response)
- [`SearchDynamicDataStoresPayload`](https://docs.bitbadges.io/sdk/reference/classes/search-dynamic-data-stores-payload)
- [`GetDynamicDataStoreValueSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-dynamic-data-store-value-success-response)
- [`DeleteDynamicDataStoreSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/delete-dynamic-data-store-success-response)
- [`GetDynamicDataActivityPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-dynamic-data-activity-payload)
- [`GetDynamicDataActivitySuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-dynamic-data-activity-success-response)
- [`GetApiKeysPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-api-keys-payload)
- [`GetApiKeysSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-api-keys-success-response)
- [`CreateApiKeySuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/create-api-key-success-response)
- [`RotateApiKeySuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/rotate-api-key-success-response)
- [`SearchUtilityPagesPayload`](https://docs.bitbadges.io/sdk/reference/classes/search-utility-pages-payload)
- [`GetPostActionStatusesSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-post-action-statuses-success-response)
- [`GetPluginErrorsPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-plugin-errors-payload)
- [`GetPluginErrorsSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-plugin-errors-success-response)
- [`ScheduleTokenRefreshSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/schedule-token-refresh-success-response)
- [`CheckClaimSuccessSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/check-claim-success-success-response)
- [`GetSwapActivitiesPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-swap-activities-payload)
- [`GetOnChainDynamicStoreValuesPaginatedPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-on-chain-dynamic-store-values-paginated-payload)
- [`GetSkipAssetsSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-skip-assets-success-response)
- [`GetSkipChainsSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-skip-chains-success-response)
- [`GetSkipBalancesSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-skip-balances-success-response)
- [`TrackSkipTxSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/track-skip-tx-success-response)
- [`GetSkipTxStatusSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-skip-tx-status-success-response)
- [`GetSwapAssetsSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-swap-assets-success-response)
- [`GetSwapChainsSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-swap-chains-success-response)
- [`GetSwapBalancesSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-swap-balances-success-response)
- [`TrackSwapSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/track-swap-success-response)
- [`GetSwapStatusSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-swap-status-success-response)
- [`GetOrderbookDepthSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-orderbook-depth-success-response)
- [`GetPredictionsSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-predictions-success-response)
- [`GetPredictionDetailSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-prediction-detail-success-response)
- [`GetPredictionPricesSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/get-prediction-prices-success-response)
- [`BroadcastTxEvmSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/broadcast-tx-evm-success-response)
- [`SimulateTxEvmSuccessResponse`](https://docs.bitbadges.io/sdk/reference/classes/simulate-tx-evm-success-response)
- [`GetOwnersPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-owners-payload)
- [`GetBalanceByAddressPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-balance-by-address-payload)
- [`GetTokenActivityPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-token-activity-payload)
- [`GetCollectionIndexPayload`](https://docs.bitbadges.io/sdk/reference/classes/get-collection-index-payload)
- [`MsgCreateAddressLists`](https://docs.bitbadges.io/sdk/reference/classes/msg-create-address-lists)
- [`MsgCreateDynamicStore`](https://docs.bitbadges.io/sdk/reference/classes/msg-create-dynamic-store)
- [`MsgCastVote`](https://docs.bitbadges.io/sdk/reference/classes/msg-cast-vote)
- [`MsgDeleteDynamicStore`](https://docs.bitbadges.io/sdk/reference/classes/msg-delete-dynamic-store)
- [`MsgDeleteIncomingApproval`](https://docs.bitbadges.io/sdk/reference/classes/msg-delete-incoming-approval)
- [`MsgDeleteOutgoingApproval`](https://docs.bitbadges.io/sdk/reference/classes/msg-delete-outgoing-approval)
- [`MsgPurgeApprovals`](https://docs.bitbadges.io/sdk/reference/classes/msg-purge-approvals)
- [`MsgSetTokenMetadata`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-token-metadata)
- [`MsgSetCollectionApprovals`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-collection-approvals)
- [`MsgSetCollectionMetadata`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-collection-metadata)
- [`MsgSetCustomData`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-custom-data)
- [`MsgSetDynamicStoreValue`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-dynamic-store-value)
- [`MsgSetIncomingApproval`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-incoming-approval)
- [`MsgSetIsArchived`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-is-archived)
- [`MsgSetManager`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-manager)
- [`MsgSetOutgoingApproval`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-outgoing-approval)
- [`MsgSetStandards`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-standards)
- [`MsgSetValidTokenIds`](https://docs.bitbadges.io/sdk/reference/classes/msg-set-valid-token-ids)
- [`MsgUpdateDynamicStore`](https://docs.bitbadges.io/sdk/reference/classes/msg-update-dynamic-store)
- [`MsgCreateManagerSplitter`](https://docs.bitbadges.io/sdk/reference/classes/msg-create-manager-splitter)
- [`MsgUpdateManagerSplitter`](https://docs.bitbadges.io/sdk/reference/classes/msg-update-manager-splitter)
- [`MsgDeleteManagerSplitter`](https://docs.bitbadges.io/sdk/reference/classes/msg-delete-manager-splitter)
- [`MsgExecuteUniversalUpdateCollection`](https://docs.bitbadges.io/sdk/reference/classes/msg-execute-universal-update-collection)

## Type Parameters

### T

`T` *extends* [`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type)\<`T`\>

## Implements

- [`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type)\<`T`\>

## Constructors

### Constructor

> **new CustomTypeClass**\<`T`\>(): `CustomTypeClass`\<`T`\>

#### Returns

`CustomTypeClass`\<`T`\>

## Methods

### clone()

> **clone**(): `T`

Defined in: [packages/bitbadgesjs-sdk/src/common/base.ts:105](https://github.com/BitBadges/bitbadgesjs/blob/master/packages/bitbadgesjs-sdk/src/common/base.ts#L105)

Deep copies the object and returns a new instance.

#### Returns

`T`

#### Implementation of

[`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type).[`clone`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type#clone)

***

### ~~convert()~~

> **convert**\<`U`\>(`_convertFunction?`, `options?`): [`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type)\<`any`\>

Defined in: [packages/bitbadgesjs-sdk/src/common/base.ts:124](https://github.com/BitBadges/bitbadgesjs/blob/master/packages/bitbadgesjs-sdk/src/common/base.ts#L124)

#### Type Parameters

##### U

`U` *extends* [`NumberType`](https://docs.bitbadges.io/sdk/reference/type-aliases/number-type)

#### Parameters

##### \_convertFunction?

(`val`) => `U`

##### options?

[`ConvertOptions`](https://docs.bitbadges.io/sdk/reference/interfaces/convert-options)

#### Returns

[`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type)\<`any`\>

#### Deprecated

This function is unnecessary as this field has no numeric types.
Please use the `.clone()` method instead.

#### Implementation of

[`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type).[`convert`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type#convert)

***

### equals()

> **equals**\<`U`\>(`other`, `normalizeNumberTypes?`): `boolean`

Defined in: [packages/bitbadgesjs-sdk/src/common/base.ts:101](https://github.com/BitBadges/bitbadgesjs/blob/master/packages/bitbadgesjs-sdk/src/common/base.ts#L101)

Compares this object's fields to another object's fields for equality. Equality is determined by comparing the JSON representations of the objects.

If `normalizeNumberTypes` is true, then all number types will be compared as strings (i.e. "1n" === "1" === 1). Else, they will be compared as their native types (i.e. 1n !== 1 !== "1").

#### Type Parameters

##### U

`U` *extends* [`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type)\<`U`\>

#### Parameters

##### other

[`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type)\<`U`\> \| `null` \| `undefined`

##### normalizeNumberTypes?

`boolean`

#### Returns

`boolean`

#### Implementation of

[`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type).[`equals`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type#equals)

***

### getNumberFieldNames()

> **getNumberFieldNames**(): `string`[]

Defined in: [packages/bitbadgesjs-sdk/src/common/base.ts:111](https://github.com/BitBadges/bitbadgesjs/blob/master/packages/bitbadgesjs-sdk/src/common/base.ts#L111)

Internal helper method to convert the number fields of the object to a different NumberType equivalent.

#### Returns

`string`[]

#### Implementation of

[`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type).[`getNumberFieldNames`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type#getnumberfieldnames)

***

### hasNumberFields()

> **hasNumberFields**(): `boolean`

Defined in: [packages/bitbadgesjs-sdk/src/common/base.ts:115](https://github.com/BitBadges/bitbadgesjs/blob/master/packages/bitbadgesjs-sdk/src/common/base.ts#L115)

Checks if the object has number fields.

#### Returns

`boolean`

#### Implementation of

[`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type).[`hasNumberFields`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type#hasnumberfields)

***

### toJson()

> **toJson**(): `JsonObject`

Defined in: [packages/bitbadgesjs-sdk/src/common/base.ts:93](https://github.com/BitBadges/bitbadgesjs/blob/master/packages/bitbadgesjs-sdk/src/common/base.ts#L93)

Converts the object to a JSON object with all primitive types.

#### Returns

`JsonObject`

#### Implementation of

[`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type).[`toJson`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type#tojson)

***

### toJsonString()

> **toJsonString**(): `string`

Defined in: [packages/bitbadgesjs-sdk/src/common/base.ts:97](https://github.com/BitBadges/bitbadgesjs/blob/master/packages/bitbadgesjs-sdk/src/common/base.ts#L97)

Converts the object to a JSON string.

#### Returns

`string`

#### Implementation of

[`CustomType`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type).[`toJsonString`](https://docs.bitbadges.io/sdk/reference/interfaces/custom-type#tojsonstring)
