# tokenization/legacytx.proto

Proto package `tokenization`, part of the [x/tokenization](https://docs.bitbadges.io/chain/proto/tokenization) module. It declares 19 messages. [Read the raw source](https://github.com/BitBadges/bitbadgeschain/blob/master/proto/tokenization/legacytx.proto).

## Messages

### CollectionApprovalTimeline

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `collectionApprovals` | 1 | [`CollectionApproval`](https://docs.bitbadges.io/chain/proto/tokenization/approvals#collectionapproval) | repeated |   |
| `timelineTimes` | 2 | [`UintRange`](https://docs.bitbadges.io/chain/proto/tokenization/balances#uintrange) | repeated |   |

### MsgArchiveCollection

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `creator` | 1 | `string` | singular |   |
| `collectionId` | 2 | `string` | singular |   |
| `isArchivedTimeline` | 3 | [`IsArchivedTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#isarchivedtimeline) | repeated |   |

### MsgArchiveCollectionResponse

No fields.

### MsgMintAndDistributeTokens

This handles both minting more of existing tokens and creating new tokens.

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `creator` | 1 | `string` | singular |   |
| `collectionId` | 2 | `string` | singular |   |
| `tokensToCreate` | 3 | [`Balance`](https://docs.bitbadges.io/chain/proto/tokenization/balances#balance) | repeated |   |
| `transfers` | 4 | [`Transfer`](https://docs.bitbadges.io/chain/proto/tokenization/transfers#transfer) | repeated |   |
| `collectionMetadataTimeline` | 5 | [`CollectionMetadataTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#collectionmetadatatimeline) | repeated |   |
| `tokenMetadataTimeline` | 6 | [`TokenMetadataTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#tokenmetadatatimeline) | repeated |   |
| `collectionApprovals` | 7 | [`CollectionApproval`](https://docs.bitbadges.io/chain/proto/tokenization/approvals#collectionapproval) | repeated |   |
| `addressLists` | 8 | [`AddressList`](https://docs.bitbadges.io/chain/proto/tokenization/address_lists#addresslist) | repeated |   |

### MsgMintAndDistributeTokensResponse

No fields.

### MsgNewCollection

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `creator` | 1 | `string` | singular | See collections.proto for more details about these MsgNewBadge fields. Defines the token details. Leave unneeded fields empty. |
| `collectionMetadataTimeline` | 2 | [`CollectionMetadataTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#collectionmetadatatimeline) | repeated |   |
| `tokenMetadataTimeline` | 3 | [`TokenMetadataTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#tokenmetadatatimeline) | repeated |   |
| `customDataTimeline` | 4 | [`CustomDataTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#customdatatimeline) | repeated |   |
| `collectionApprovals` | 5 | [`CollectionApproval`](https://docs.bitbadges.io/chain/proto/tokenization/approvals#collectionapproval) | repeated |   |
| `permissions` | 6 | [`CollectionPermissions`](https://docs.bitbadges.io/chain/proto/tokenization/permissions#collectionpermissions) | singular |   |
| `standardsTimeline` | 7 | [`StandardsTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#standardstimeline) | repeated |   |
| `tokensToCreate` | 8 | [`Balance`](https://docs.bitbadges.io/chain/proto/tokenization/balances#balance) | repeated | Token supplys and amounts to create. For each idx, we create amounts[idx] badges each with a supply of supplys[idx]. If supply[idx] == 0, we assume default supply. amountsToCreate[idx] can't equal 0. |
| `transfers` | 9 | [`Transfer`](https://docs.bitbadges.io/chain/proto/tokenization/transfers#transfer) | repeated |   |
| `contractAddressTimeline` | 10 | [`ContractAddressTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#contractaddresstimeline) | repeated |   |
| `addressLists` | 11 | [`AddressList`](https://docs.bitbadges.io/chain/proto/tokenization/address_lists#addresslist) | repeated |   |
| `defaultOutgoingApprovals` | 12 | [`UserOutgoingApproval`](https://docs.bitbadges.io/chain/proto/tokenization/approvals#useroutgoingapproval) | repeated | The user's approved transfers for each token ID. |
| `defaultIncomingApprovals` | 13 | [`UserIncomingApproval`](https://docs.bitbadges.io/chain/proto/tokenization/approvals#userincomingapproval) | repeated | The user's approved incoming transfers for each token ID. |
| `defaultDisapproveSelfInitiated` | 14 | `bool` | singular |   |
| `defaultBalances` | 15 | [`Balance`](https://docs.bitbadges.io/chain/proto/tokenization/balances#balance) | repeated | The default balances for the user |
| `cosmosCoinWrapperPathsToAdd` | 16 | [`CosmosCoinWrapperPathAddObject`](https://docs.bitbadges.io/chain/proto/tokenization/tx#cosmoscoinwrapperpathaddobject) | repeated |   |
| `invariants` | 17 | [`InvariantsAddObject`](https://docs.bitbadges.io/chain/proto/tokenization/tx#invariantsaddobject) | singular | Collection-level invariants that cannot be broken. These are set upon genesis and cannot be modified. Addresses are generated by the keeper and stored in the collection. |
| `aliasPathsToAdd` | 18 | [`AliasPathAddObject`](https://docs.bitbadges.io/chain/proto/tokenization/tx#aliaspathaddobject) | repeated |   |

### MsgNewCollectionResponse

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `collectionId` | 1 | `string` | singular | ID of created token collection |

### MsgUniversalUpdateCollectionApprovals

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `creator` | 1 | `string` | singular |   |
| `collectionId` | 2 | `string` | singular |   |
| `collectionApprovals` | 3 | [`CollectionApproval`](https://docs.bitbadges.io/chain/proto/tokenization/approvals#collectionapproval) | repeated |   |
| `addressLists` | 4 | [`AddressList`](https://docs.bitbadges.io/chain/proto/tokenization/address_lists#addresslist) | repeated |   |

### MsgUniversalUpdateCollectionApprovalsResponse

No fields.

### MsgUniversalUpdateCollectionPermissions

Update token permissions with new permissions, if permitted.

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `creator` | 1 | `string` | singular |   |
| `collectionId` | 2 | `string` | singular |   |
| `permissions` | 3 | [`CollectionPermissions`](https://docs.bitbadges.io/chain/proto/tokenization/permissions#collectionpermissions) | singular |   |
| `addressLists` | 4 | [`AddressList`](https://docs.bitbadges.io/chain/proto/tokenization/address_lists#addresslist) | repeated |   |

### MsgUniversalUpdateCollectionPermissionsResponse

No fields.

### MsgUpdateManager

Transfer manager to this address. Recipient must have made a request.

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `creator` | 1 | `string` | singular |   |
| `collectionId` | 2 | `string` | singular |   |
| `managerTimeline` | 3 | [`ManagerTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#managertimeline) | repeated |   |

### MsgUpdateManagerResponse

No fields.

### MsgUpdateMetadata

Update token Uris with new URI object, if permitted.

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `creator` | 1 | `string` | singular |   |
| `collectionId` | 2 | `string` | singular |   |
| `collectionMetadataTimeline` | 3 | [`CollectionMetadataTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#collectionmetadatatimeline) | repeated |   |
| `tokenMetadataTimeline` | 4 | [`TokenMetadataTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#tokenmetadatatimeline) | repeated |   |
| `customDataTimeline` | 5 | [`CustomDataTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#customdatatimeline) | repeated |   |
| `contractAddressTimeline` | 6 | [`ContractAddressTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#contractaddresstimeline) | repeated |   |
| `standardsTimeline` | 7 | [`StandardsTimeline`](https://docs.bitbadges.io/chain/proto/tokenization/timelines#standardstimeline) | repeated |   |

### MsgUpdateMetadataResponse

No fields.

### MsgUpdateUserPermissions

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `creator` | 1 | `string` | singular |   |
| `collectionId` | 2 | `string` | singular |   |
| `permissions` | 3 | [`UserPermissions`](https://docs.bitbadges.io/chain/proto/tokenization/permissions#userpermissions) | singular |   |
| `addressLists` | 4 | [`AddressList`](https://docs.bitbadges.io/chain/proto/tokenization/address_lists#addresslist) | repeated |   |

### MsgUpdateUserPermissionsResponse

No fields.

### UserIncomingApprovalTimeline

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `incomingApprovals` | 1 | [`UserIncomingApproval`](https://docs.bitbadges.io/chain/proto/tokenization/approvals#userincomingapproval) | repeated |   |
| `timelineTimes` | 2 | [`UintRange`](https://docs.bitbadges.io/chain/proto/tokenization/balances#uintrange) | repeated |   |

### UserOutgoingApprovalTimeline

Before switching to the universal Msgs, we had a separate Msg for each action.

This is the old Msg service definition. It is still used in some parts of the codebase for compatibility.

The types defined in these files are used to define the MsgServer types for all requests and responses for Msgs of the tokens module.

| Field | # | Type | Rule | Description |
| --- | --- | --- | --- | --- |
| `outgoingApprovals` | 1 | [`UserOutgoingApproval`](https://docs.bitbadges.io/chain/proto/tokenization/approvals#useroutgoingapproval) | repeated |   |
| `timelineTimes` | 2 | [`UintRange`](https://docs.bitbadges.io/chain/proto/tokenization/balances#uintrange) | repeated |   |
