Skip to content

Commit d8c75f4

Browse files
authored
Merge pull request #438 from algorandfoundation/feat/asset-txns-url-params
Feat/asset txns url params
2 parents c607b56 + 28eb31f commit d8c75f4

10 files changed

+1923
-26
lines changed

src/features/transaction-wizard/components/asset-clawback-transaction-builder.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import { asAddressOrNfd } from '../mappers/as-address-or-nfd'
2525

2626
const clawbackTargetLabel = 'Clawback target'
2727

28-
const formSchema = z
28+
export const assetClawbackFormSchema = z
2929
.object({
3030
...commonSchema,
3131
...senderFieldSchema,
@@ -65,7 +65,7 @@ const formSchema = z
6565
}
6666
})
6767

68-
const formData = zfd.formData(formSchema)
68+
const formData = zfd.formData(assetClawbackFormSchema)
6969

7070
type FormFieldsProps = {
7171
helper: FormFieldHelper<z.infer<typeof formData>>

src/features/transaction-wizard/components/asset-destroy-transaction-builder.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import { TransactionBuilderMode } from '../data'
2626
import { TransactionBuilderNoteField } from './transaction-builder-note-field'
2727
import { asAddressOrNfd } from '../mappers/as-address-or-nfd'
2828

29-
const formSchema = {
29+
export const assetDestroyFormSchema = z.object({
3030
...commonSchema,
3131
...senderFieldSchema,
3232
asset: z
@@ -50,9 +50,9 @@ const formSchema = {
5050
})
5151
}
5252
}),
53-
}
53+
})
5454

55-
const formData = zfd.formData(formSchema)
55+
const formData = zfd.formData(assetDestroyFormSchema)
5656

5757
type FormFieldsProps = {
5858
helper: FormFieldHelper<z.infer<typeof formData>>

src/features/transaction-wizard/components/asset-freeze-transaction-builder.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ import { TransactionBuilderNoteField } from './transaction-builder-note-field'
2424
import { freezeAssetLabel, unfreezeAssetLabel } from '../mappers'
2525
import { asAddressOrNfd } from '../mappers/as-address-or-nfd'
2626

27-
const formSchema = z
27+
export const assetFreezeFormSchema = z
2828
.object({
2929
...commonSchema,
3030
...senderFieldSchema,
3131
freezeTarget: addressFieldSchema,
32-
frozen: z.string(),
32+
frozen: z.union([z.string(), z.boolean()]),
3333
asset: z
3434
.object({
3535
id: bigIntSchema(z.bigint({ required_error: 'Required', invalid_type_error: 'Required' }).min(1n)),
@@ -63,7 +63,7 @@ const formSchema = z
6363
}
6464
})
6565

66-
const formData = zfd.formData(formSchema)
66+
const formData = zfd.formData(assetFreezeFormSchema)
6767

6868
type FormFieldsProps = {
6969
helper: FormFieldHelper<z.infer<typeof formData>>

src/features/transaction-wizard/components/asset-opt-in-transaction-builder.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,14 @@ import { TransactionBuilderNoteField } from './transaction-builder-note-field'
2424
import { asAddressOrNfd } from '../mappers/as-address-or-nfd'
2525
import { ActiveWalletAccount } from '@/features/wallet/types/active-wallet'
2626

27-
const formSchema = {
27+
export const assetOptInFormSchema = z.object({
2828
...commonSchema,
2929
...senderFieldSchema,
3030
asset: z
3131
.object({
3232
id: bigIntSchema(z.bigint({ required_error: 'Required', invalid_type_error: 'Required' }).min(1n)),
3333
decimals: z.number().optional(),
3434
unitName: z.string().optional(),
35-
clawback: z.string().optional(),
3635
})
3736
.superRefine((asset, ctx) => {
3837
if (asset.decimals === undefined) {
@@ -43,9 +42,9 @@ const formSchema = {
4342
})
4443
}
4544
}),
46-
}
45+
})
4746

48-
const formData = zfd.formData(formSchema)
47+
const formData = zfd.formData(assetOptInFormSchema)
4948

5049
type FormFieldsProps = {
5150
helper: FormFieldHelper<z.infer<typeof formData>>
@@ -106,7 +105,6 @@ function FormFieldsWithAssetInfo({ helper, formCtx, assetId }: FieldsWithAssetIn
106105
if ((initialAssetLoad && getValues('asset.decimals') === undefined) || !initialAssetLoad) {
107106
setValue('asset.decimals', loadableAssetSummary.state === 'hasData' ? loadableAssetSummary.data.decimals : undefined)
108107
setValue('asset.unitName', loadableAssetSummary.state === 'hasData' ? loadableAssetSummary.data.unitName : undefined)
109-
setValue('asset.clawback', loadableAssetSummary.state === 'hasData' ? loadableAssetSummary.data.clawback : undefined)
110108
trigger('asset')
111109
}
112110
if (initialAssetLoad) {

src/features/transaction-wizard/components/asset-opt-out-transaction-builder.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import { TransactionBuilderNoteField } from './transaction-builder-note-field'
2424
import { asAddressOrNfd } from '../mappers/as-address-or-nfd'
2525
import { ActiveWalletAccount } from '@/features/wallet/types/active-wallet'
2626

27-
const formSchema = {
27+
export const assetOptOutFormSchema = z.object({
2828
...commonSchema,
2929
...senderFieldSchema,
3030
closeRemainderTo: addressFieldSchema,
@@ -33,7 +33,6 @@ const formSchema = {
3333
id: bigIntSchema(z.bigint({ required_error: 'Required', invalid_type_error: 'Required' }).min(1n)),
3434
decimals: z.number().optional(),
3535
unitName: z.string().optional(),
36-
clawback: z.string().optional(),
3736
})
3837
.superRefine((asset, ctx) => {
3938
if (asset.decimals === undefined) {
@@ -44,9 +43,9 @@ const formSchema = {
4443
})
4544
}
4645
}),
47-
}
46+
})
4847

49-
const formData = zfd.formData(formSchema)
48+
const formData = zfd.formData(assetOptOutFormSchema)
5049

5150
type FormFieldsProps = {
5251
helper: FormFieldHelper<z.infer<typeof formData>>
@@ -113,7 +112,6 @@ function FormFieldsWithAssetInfo({ helper, formCtx, assetId }: FieldsWithAssetIn
113112
if ((initialAssetLoad && getValues('asset.decimals') === undefined) || !initialAssetLoad) {
114113
setValue('asset.decimals', loadableAssetSummary.state === 'hasData' ? loadableAssetSummary.data.decimals : undefined)
115114
setValue('asset.unitName', loadableAssetSummary.state === 'hasData' ? loadableAssetSummary.data.unitName : undefined)
116-
setValue('asset.clawback', loadableAssetSummary.state === 'hasData' ? loadableAssetSummary.data.clawback : undefined)
117115
trigger('asset')
118116
}
119117
if (initialAssetLoad) {

src/features/transaction-wizard/components/asset-reconfigure-transaction-builder.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { TransactionBuilderMode } from '../data'
2323
import { TransactionBuilderNoteField } from './transaction-builder-note-field'
2424
import { asAddressOrNfd, asOptionalAddressOrNfd, asOptionalAddressOrNfdSchema } from '../mappers/as-address-or-nfd'
2525

26-
const formSchema = z
26+
export const assetReconfigureFormSchema = z
2727
.object({
2828
...commonSchema,
2929
...senderFieldSchema,
@@ -64,7 +64,7 @@ const formSchema = z
6464
}
6565
})
6666

67-
const formData = zfd.formData(formSchema)
67+
const formData = zfd.formData(assetReconfigureFormSchema)
6868

6969
type FormFieldsProps = {
7070
helper: FormFieldHelper<z.infer<typeof formData>>

src/features/transaction-wizard/components/asset-transfer-transaction-builder.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import { ActiveWalletAccount } from '@/features/wallet/types/active-wallet'
2626

2727
const receiverLabel = 'Receiver'
2828

29-
const formSchema = {
29+
export const assetTransferFormSchema = z.object({
3030
...commonSchema,
3131
...senderFieldSchema,
3232
...receiverFieldSchema,
@@ -47,9 +47,9 @@ const formSchema = {
4747
}
4848
}),
4949
amount: decimalSchema({ required_error: 'Required' }),
50-
}
50+
})
5151

52-
const formData = zfd.formData(formSchema)
52+
const formData = zfd.formData(assetTransferFormSchema)
5353

5454
type FormFieldsProps = {
5555
helper: FormFieldHelper<z.infer<typeof formData>>

src/features/transaction-wizard/models/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,8 @@ export type BuildAssetDestroyTransactionResult = CommonBuildTransactionResult &
208208
type: BuildableTransactionType.AssetDestroy
209209
asset: {
210210
id: AssetId
211+
decimals?: number
212+
manager?: Address
211213
}
212214
}
213215

0 commit comments

Comments
 (0)